"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment obtenir une véritable immuabilité pour les tableaux primitifs en Java ?

Comment obtenir une véritable immuabilité pour les tableaux primitifs en Java ?

Publié le 2024-11-01
Parcourir:296

How To Achieve True Immutability for Primitive Arrays in Java?

Non-modification des tableaux primitifs en Java

La modification des tableaux primitifs est souvent une opération indésirable, ce qui suscite des inquiétudes quant à l'intégrité des données. Même si le simple fait de déclarer un tableau comme final peut sembler une solution, cela n'empêche pas la mutation des éléments, comme illustré ci-dessous :

final int[] array = new int[] {0, 1, 2, 3};
array[0] = 42;

Pour garantir l'immuabilité des éléments, il faut envisager des alternatives aux tableaux primitifs.

Solution : Utiliser des structures de données immuables

Le framework Java Collections fournit des alternatives immuables aux tableaux primitifs. L'une de ces options est l'interface List, qui offre une implémentation immuable sous la forme d'unmodifiableList(). Cette méthode encapsule une liste mutable existante, interdisant toute modification de ses éléments.

List items = Collections.unmodifiableList(Arrays.asList(0,1,2,3));

En utilisant unmodifiableList(), les éléments de la liste deviennent immuables, empêchant ainsi le type d'opération suivant :

items.set(0, 42);

D'autres structures de données immuables, telles que Map et Set, peuvent également être envisagées pour différents besoins d'organisation des données. En implémentant l'immuabilité dans les tableaux Java, les développeurs peuvent améliorer l'intégrité des données et garantir la fiabilité de leurs applications.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3