# Arrays überschreiben sich



## Darkdoom (12. Aug 2012)

Hallo zusammen,

mir ist etwas ungewöhnliches passiert und besteht immernoch.

In meinem Programm was ich geschrieben habe schreibe ich länge_alt = länge_neu 
Dies sind 2 int Arrays und werden nach nach durchlauf immer so auf den aktuellen stand gebracht.
In das Array länge_neu schreibe ich nach einer Methode die ein Array(gleicher größe) zurückgibt und auf das Array schreibt.
Nun bin ich das Programm im Debug betrieb durchgegangen und habe festgestellt das wenn ich NUR das Array länge_neu beschreibe sich automatisch auch länge_alt ändert und das weit entfernt von der Codezeile länge_alt = länge_neu.

Weiß einer warum Java sich so verhält?

Danke

P.s. das ist seit heute so. Gestern hat es sich normal verhalten.


----------



## SlaterB (12. Aug 2012)

ohne Code nicht genau zu sagen, 
zu täglichen Änderungen kann man natürlich noch weniger sagen oder hoffst du auf 'heute ist Sonntag, da gehen Arrays soundso'? 

bisher sieht es so aus:
wenn irgendwo 
> länge_alt = länge_neu
steht, dann zeigen beide Variablen auf dasselbe Objekt, Änderungen in der einen Variable zeigen sich auch in der anderen,
denn beide sind dasselbe,
das ist für alle Zeit so, egal welcher Tag, egal wieviel Zeit oder Zeilen vergehen seit dem Kommando,
bis dieser Zustand aktiv beendet wird, z.B. länge_neu ein neues Array mit 'new' zuweisen


----------



## Mujahiddin (12. Aug 2012)

wenn du das array kopieren willst:

```
laenge_alt = new int[laenge_neu.length];
System.arraycopy(laenge_neu, 0, laenge_alt, 0, laenge_neu.length);
```
Ansonsten eben was SlaterB gesagt hat.


----------

