Hallo,
Arrays werden in Java "by reference" übergeben, sind also so etwas wie "versteckte" Zeiger (um mal im C-Jargon zu bleiben).
Arrays sind in Java ja auch Objekte. Und die werden ebenso als Referenz
übergeben.
Genaugenommen werden Objekte bzw. Arrays ansich ja gar nicht als Referenz
übergeben. Vielmehr wird die Referenz (aka Pointer) auf das Objekt oder
das Array übergeben. Der Pointer wird dabei kopiert. Nur zeigt eben
der kopierte Pointer genauso weiter auf dasselbe Objekt/Array.
(Die Referenz selbst kann man aber innerhalb der Methode ändern. Darauf-
hin ändert sich die Referenz im aufrufenden Programmcode nicht.)
Danke, das erklärt das Verhalten natürlich. Muss ich, um dies zu vermeiden, das Array dann in der Methode duplizieren, oder gibt es auch noch die Möglichkeit, direkt nur die Werte des Arrays zu übergeben?
Du mußt die Daten in irgend einer Form explizit duplizieren, wenn du
eine Kopie haben möchtest.
Gruß
Slyh