Heim  >  Artikel  >  Java  >  Wie kann die Unveränderlichkeit für primitive Arrays in Java sichergestellt werden?

Wie kann die Unveränderlichkeit für primitive Arrays in Java sichergestellt werden?

DDD
DDDOriginal
2024-10-28 12:34:01865Durchsuche

How to Ensure Immutability for Primitive Arrays in Java?

Unveränderliche Arrays in Java

Der primitive Array-Typ in Java bietet keine Unveränderlichkeit. Die Deklaration eines Arrays als final schützt lediglich den Verweis auf das Array vor einer Neuzuweisung, verhindert jedoch nicht Änderungen an einzelnen Array-Elementen.

Um die Unveränderlichkeit für ein Array von Grundelementen zu erzwingen, müssen Sie die Verwendung einer alternativen Datenstruktur in Betracht ziehen.

Unveränderbare Liste als Alternative

Eine unveränderliche Alternative zu primitiven Arrays ist die Verwendung der Collections.unmodifiableList()-Methode, um eine nicht veränderbare Liste zu erstellen, die durch die Array-Elemente unterstützt wird. Diese Methode gibt eine Wrapper-Liste zurück, die Änderungen an ihrem Inhalt verhindert.

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

Sobald die nicht veränderbare Liste erstellt wurde, führt jeder Versuch, ihre Elemente zu ändern, zu einer UnsupportedOperationException. Dadurch wird sichergestellt, dass die Elemente des Arrays unverändert bleiben und dennoch der Zugriff auf ihre Werte über die Listenschnittstelle möglich ist.

Das obige ist der detaillierte Inhalt vonWie kann die Unveränderlichkeit für primitive Arrays in Java sichergestellt werden?. 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