Warum verändert sich der Array Wert?

3 Antworten

Ich weiß gerade nicht welche Sprache das ist, aber bei manchen kommt es vor, dass wenn du ein Array einem anderen Array gleich setzt, das nur eine Art Verlinkung ist, sprich beides ist noch das selbe mit anderem Namen und wird auch gleich verändert. Google mal ob du eine deep copy meine ich war das machen kannst. Die sollte es so kopieren, dass du zwei verschiedene Arrays hast die unabhängig voneinander sind.


JasonTheBeast 
Fragesteller
 09.12.2019, 01:15

Das hat mir sehr weitergeholfen!

1

Wenn du in Java ein Objekt einer Variablen zuweist, ist dies eine Referenz. Das bedeutet, zahlenIntervall und teilerIntervall verweisen beide auf das gleiche Objekt. Wenn du eines davon änderst, ändert sich auch das andere.

Objekte sind alle Werte, die mit new erzeugt werden, also sowohl Arrays, als auch Instanzen von Klassen und Enumerationen.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

Die Variablen zahlenIntervall und teilerIntervall zeigen jeweils auf dasselbe Objekt (auf welches auch zahlen zeigt).

Für eine Kopie von Arrays primitiven Typs kannst du entweder arraycopy verwenden oder copyOf. Die kopierten Arrays sind dann unabhängig voneinander.