Heim  >  Artikel  >  Java  >  Wie erreicht man mit Arrays in Java echte Unveränderlichkeit: Jenseits primitiver Typen?

Wie erreicht man mit Arrays in Java echte Unveränderlichkeit: Jenseits primitiver Typen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 14:41:30227Durchsuche

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

Unveränderliche Arrays in Java: Jenseits primitiver Typen

Bei der Arbeit mit Arrays in Java kann es vorkommen, dass Sie eine unveränderliche Datenstruktur benötigen Dies verhindert die Änderung von Elementen. Obwohl das Markieren von Arrays als endgültig die Referenzierungsänderungen einschränken kann, verhindert es nicht die Manipulation interner Elemente.

Für echte Unveränderlichkeit sollten Sie Alternativen zu primitiven Arrays in Betracht ziehen. Eine Möglichkeit besteht darin, Listen zu nutzen, die eine umfangreiche Palette unveränderlicher Implementierungen bieten. Mit der Collections.unmodifiableList-Methode können Sie beispielsweise eine unveränderliche Version einer veränderlichen Liste erstellen.

Betrachten Sie das folgende Beispiel:

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

In diesem Fall, obwohl die Array-Referenz selbst endgültig ist, können Sie die einzelnen Elemente noch ändern, was zu einer Änderung des Array-Inhalts führt.

Um Unveränderlichkeit zu erreichen, können Sie den folgenden Code verwenden:

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

Durch Konvertieren der Wenn Sie mithilfe von Collections.unmodifiableList eine veränderbare Liste in eine unveränderliche Liste umwandeln, stellen Sie sicher, dass die Elemente unveränderlich bleiben, und schützen Sie so vor unbeabsichtigten Änderungen.

Das obige ist der detaillierte Inhalt vonWie erreicht man mit Arrays in Java echte Unveränderlichkeit: Jenseits primitiver Typen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn