# List einer ArrayList zuweisen.



## Guest (19. Dez 2007)

Die Methode getChildren liefert List zurück. Ich würde nun gerne einem Objekt vom Typ ArrayList ein Interface vom Typ List zuweisen. Geht das irgendwie?


```
ArrayList<Element> a = new ArrayList<Element>(); 
a = aktuellesElement.getChildren("Berechtigungen");
```


----------



## Wildcard (19. Dez 2007)

Welchen Grund sollte es dafür geben?

```
List<Element> a = new ArrayList<Element>();
a = aktuellesElement.getChildren("Berechtigungen");
```


----------



## Guest (19. Dez 2007)

Wenn ich den Code so lasse wie er unten ist, dann wird nachdem ich die Methode removeChilren aufgerufen habe auch berechtigungenTagListe auf leer gesetzt, da es sich dabei um einen Zeiger und kein selbständiges Objekt handel. Ich brauche also berechtigungenTagListe als eigenes Objekt und nicht als Referenz. Wie kann ich das anstellen?



```
List<Element> berechtigungenTagListe = aktuellesElement.getChildren("Berechtigungen");
List<Element> datenTagListeB = null;

if(berechtigungenTagListe.size() > 0)
{
    Element berechtigungen = berechtigungenTagListe.get(0);
    datenTagListeB = berechtigungen.getChildren();
    aktuellesElement.removeChildren("Berechtigungen");
}

...

if(berechtigungenTagListe.size() > 0)
{
}
```


----------



## Marco13 (19. Dez 2007)

Was jetzt die Frage ist, ist noch nicht ganz klar, aber du kannst mit

List<XXX> kopie = new ArrayList<XXX>(dingens.getChildren());

eine Kopie der Liste erstellen, die von getChildren zurückegeben wird...


----------



## Guest (19. Dez 2007)

Oder so:


```
List<Object> berechtigungenTagListeCopy = Arrays.asList(berechtigungenTagListe.toArray());
```


----------



## SnooP (20. Dez 2007)

ne... dann doch lieber das von Marco13 verwenden... Arrays.asList erzeugt eine fixed-size-List... sprich, du kannst sie nicht vergrößern - sie ist also nur inhaltlich zunächst dieselbe, verhalten tut sie sich später anders. Außerdem muss man via toArray erstmal einmal durchlaufen und nen Array erzeugen um danach nochmal durch das Array zu rennen und ne Liste zu generieren, ein Arbeitsschritt zuviel also


----------

