# Object in andere Klasse umwandeln...



## Campino (20. Mrz 2004)

Also, ich speichere in einer LinkedList Instanzen einer eigenen Klasse. Wenn ich die LinkedList auslese, kommen aber Object-Instanzen raus... Das ist etwas hinderlich denn ich muss auf Klassenspezifische Methoden zugreifen. Das geht von Object aus aber nicht...

Hier ersma mein bisheriger Code(gekürzte Fassung, nur das wichtigste):

```
public class Karte extends Applet {
    LinkedList list=new LinkedList();
    
    public void init() {
    String erstens, zweitens;
        
    Element f=new Element(erstens, zweitens);
    list.add(f);
 
    for(int x=0;flottenlist.size()>=x;x++){
    Object of=flottenlist.get(x);
    //und jetzt etwa:
    of.los();//geht aber nich weil of Object is und kein los() hat
    }
    }
    
}

class Element {
private String name, zweitens;
private Graphics g;
public Flotte(String name, String zweitens){
    this.name=name;
    this.zweitens=zweitens; 
}


public void los(){
//Hier fehlen Befehle...
}


}
```

Weiß jemand ne Lösung??


----------



## Beni (20. Mrz 2004)

Das Zauberwort heist "cast":


```
Object obj = ...
Element ele = (Element)obj;
```

Funktioniert natürlich nur, wenn obj tatsächlich ein _Element _ist.


----------



## Roar (20. Mrz 2004)

oder wenn du 1.5 hast machst du es mit generics, da brauchst du kein casten mehr:

```
// ich glaube das müsste so richtig sein, ich hab generics noch nie ausprobiert....
LinkedList<Element> list = new LinkedList<Element>();
list.add(new Element(erstens, zweitens));
//for( blabla
Element e = list.get(x);
e.doSomething();
```


----------



## Campino (21. Mrz 2004)

Gut, danke. Auf die Idee war ich selber schon gekommen, und hatte dann das nicht-funktionieren darauf zurückgeführt... lag aber woll doch wo anders dran...Werd das andere Problem auch mal posten...


----------

