Ich habe diesen Code. Aber ich weiß nicht, wie das Ergebnis zu erklären:Referenz von zwei ArrayList auf die gleichen Objekte
ArrayList<String> first = new ArrayList<String>();
first.add("1");
first.add("2");
first.add("3");
ArrayList<String> second = new ArrayList<String>();
second = first;
System.out.println("before modified:"+second.size());
second.clear();
System.out.println("after modified:");
System.out.println(" First:"+first.size());
System.out.println(" Second:"+second.size());
Das Ergebnis wird sein: 3/0/0
Das Problem, das ich nicht wissen, ist: wenn Sie first = second;
so zuweisen, die beide zuerst und das zweite Array zeigt auf das gleiche Objekt (1,2 und 3). nach Ihnen clear
alle Elemente auf dem zweiten Array, so alle die Verbindung zwischen dem zweiten Array und diese Objekte werden (kein Problem hier).
Die Sache, die ich nicht weiß, ist: aber diese Objekte (1,2 und 3) immer noch Bezug auf erste Array. Warum ist die erste Array-Größe 0.
Bitte erklären Sie mir.
Thanks :)
Siehe diesen Link http://stackoverflow.com/questions/869033/how-do-i-copy-an-object-in-java – aProgrammer