Maison > Java > javaDidacticiel > le corps du texte

Comment obtenir une véritable immuabilité avec des tableaux en Java : au-delà des types primitifs ?

Linda Hamilton
Libérer: 2024-10-27 14:41:30
original
293 Les gens l'ont consulté

How to Achieve True Immutability with Arrays in Java: Beyond Primitive Types?

Tableaux immuables en Java : au-delà des types primitifs

Lorsque vous travaillez avec des tableaux en Java, vous pouvez rencontrer des situations où vous avez besoin d'une structure de données immuable cela empêche la modification des éléments. Bien que marquer les tableaux comme finaux puisse restreindre les modifications de référencement, cela n'empêche pas la manipulation des éléments internes.

Pour une véritable immuabilité, envisagez des alternatives aux tableaux primitifs. Une option consiste à exploiter les listes, qui offrent une large gamme d'implémentations immuables. Par exemple, en utilisant la méthode Collections.unmodifiableList, vous pouvez créer une version immuable d'une liste mutable.

Considérez l'exemple suivant :

<code class="java">final int[] array = new int[] {0, 1, 2, 3};
array[0] = 42; // Attempt to modify an element</code>
Copier après la connexion

Dans ce cas, même si la référence du tableau lui-même est définitif, vous pouvez toujours modifier les éléments individuels, entraînant une modification du contenu du tableau.

Pour obtenir l'immuabilité, vous pouvez utiliser le code suivant :

<code class="java">List<Integer> items = Collections.unmodifiableList(Arrays.asList(0, 1, 2, 3));</code>
Copier après la connexion

En convertissant le liste mutable en liste immuable en utilisant Collections.unmodifiableList, vous vous assurez que les éléments restent immuables, vous protégeant ainsi des modifications involontaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal