„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kopiert man ein 2D-Array in Java ordnungsgemäß, um Änderungen beizubehalten?

Wie kopiert man ein 2D-Array in Java ordnungsgemäß, um Änderungen beizubehalten?

Veröffentlicht am 08.11.2024
Durchsuche:695

How to Properly Copy a 2D Array in Java to Preserve Modifications?

Beibehalten von 2D-Array-Änderungen durch Duplizierung

In Java ist es beim Erstellen von Objektkopien wichtig, das Referenzzuweisungsverhalten zu verstehen. Im gegebenen Szenario werden zwei 2D-Arrays mit den Namen „current“ und „old“ sowie Methoden zum Kopieren des Inhalts definiert.

Die Methode old() weist das aktuelle Array „old“ zu. Allerdings wird dadurch lediglich die Referenz auf dasselbe Array im Speicher übertragen. Wenn Aktualisierungen an „current“ vorgenommen werden, spiegelt „old“ diese Änderungen ebenfalls wider, da beide auf dasselbe zugrunde liegende Array verweisen.

Die Methode „keepold()“ versucht, das alte Array „current“ zuzuweisen. Auch hier wird nur die Referenz aktualisiert, das ursprüngliche aktuelle Array bleibt davon unberührt. Daher bleiben bei Aktualisierungen der aktuellen Version die alten Inhalte unverändert.

Um eine echte Kopie eines 2D-Arrays in Java zu erstellen, ist es notwendig, jedes Element manuell zu kopieren. Alternativ können Sie für ein effizienteres Kopieren die Methode Arrays.stream().map()...toArray() verwenden, die mithilfe der Streams-API einen Klon jeder Zeile erstellt und diese zu einem neuen Array zusammenfügt.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3