Kopiertes Array unabhängig von Original ändern

Ant JO

Mitglied
Hi

Im Quelltext könnt ihr sehen das ich das ich das eine Array in das andere kopiere was auch funktioniert (sihe ausgabe )dann möchte ich in dem neuem Array einen wert ändern. Das alte Array soll aber unverändert bleiben, aber wie in der Ausgabe zu sehen ist werde beide Arrays verändert .

Wie schaffe ich es das dass erste Array unverändert bleibt ?

Java:
        int [] code = {1,2,6,8};
        int [] kcode= new int [4];

       kcode = code;

        for (int i = 0 ; i<= 3 ; i++)System.out.print(kcode[i]+ "|" );
        System.out.println("");

       kcode[0] = 7;
      
        for (int i = 0 ; i<= 3 ; i++)System.out.print(code[i]+ "|");
        System.out.println("");
        for (int i = 0 ; i<= 3 ; i++)System.out.print(kcode[i]+ "|");
        System.out.println("");

Ausgabe:
Code:
1|2|6|8|
7|2|6|8|
7|2|6|8|

Gruß
Ant JO
 
Du hast das Array nicht kopiert, sondern nur die Referenz neu zugewiesen, so dass jetzt beide Referenzen auf das gleiche Objekt zeigen. Zum Kopieren könntest Du das Array elementweise durchgehen und die einzelnen Elemente in das Ziel-Array kopierne oder (besser) System.arraycopy verwenden.
 

Neue Themen


Zurück
Oben