G
Gast
Gast
Hallo!
Wei kann man java.util.List klonen ?
Grüße
gast
Wei kann man java.util.List klonen ?
Grüße
gast
Das stimmt nicht.List l = new ArrayList(alteList). l erhält nur die Referenz auf alte List. Somit ist es klar, dass sich die Inhalte ändern.
Auch nicht richtig.List l = alteList.clone() wäre hier der richtige Ansatz. Allerdings ist clone() nicht visible in der Klasse List.
Wenn du einen Vektor verwenden kannst ist es ein Einzeiler (wie oben), wenn nicht musst du die Funktion clone() aus List überschreiben.
:autsch:Oli hat gesagt.:Hallo,
Mit new ArrayList(alteList) erstellst du eine neue Liste l, die auf alteList referenziert. Das heißt, das l auf alteList zeigt. Probier folgendes:
List l = new List(alteList);
alteList = null;
Sting x = (String)l.getItem(0);
Das knallt....
Grüße Oli
public class Test
{
public static void main(String[] args)
throws Exception
{
List<String> alteList = new ArrayList<String>();
alteList.add("Test");
List l = new ArrayList(alteList);
alteList = null;
String x = (String)l.get(0);
System.out.println(x);
}
}
public class Test
{
public static void main(String[] args)
throws Exception
{
List<String> alteList = new ArrayList<String>();
alteList.add("Test");
List l = alteList;
alteList = null;
String x = (String)l.get(0);
System.out.println(x);
}
}
lolist das hier versteckte Kamera? icon_wink.gif
du müsstest die Objekte in der Liste natürlich auch "klonen".
das sind Zeilen einer Tabelle. Ein spezielles Objekt. Wir autoamtisch angegelt als ProxyklasseWas für Objekte hast du denn in dieser Liste?