ArrayList() --> Objekte zurückwandeln?

MariusMeier

Mitglied
Hallo nochmals

Sorry dass ich soviel poste, muss was dringend fertig stellen.

Ich habe eine Liste von typ ArrayList(). In dieser Liste befinden sich verschiedene Objekte von verschiedenen Klassen! Wie kann ich nun die einzelnen Objekte richtig zurück casten bzw. wie erhalte ich Zugriff?

List list1 = filt.getListe();
Iterator it = list1.iterator();
while(it.hasNext()) {
it.next()
}

In der while() Schlaufe erhalte ich mit it.next() irgendein Objekt einer Klasse. Wie kann ich feststellen um welches Objekt von welcher Klasse es sich handelt damit ich richtig auf die Objekte zugreiffe

Danke schon im voraus!

MFG Marius Meier
 
Hallo,

Code:
List list1 = filt.getListe();
Iterator it = list1.iterator();
while(it.hasNext()) {
Object o =it.next()
 //Beispiel
if(o instanceof JFrame){

JFrame frame = (JFrame)o;

}
}

MFG

Sascha
 
Code:
Object o = it.next();

if (Object.getClass() == String.class) {
  doSomethingForString();
} else if {Object.getClass() == MeineKlasse.class) {
  machwasmitmeinerKlasse();
}

So soltle das machbar sein.

Ich vermute, dass deine Elemente in der ArrayList alles elektronische Bauteile sind. Deine Klassenstruktur sollte demnach eine Basisklasse class Bauteil haben, von der alle anderen Bauteil-Klassen abgeleitet sind:

Code:
class Kondensator extends Bauteil {

Damit kannst du dann in der Klasse Bauteil Methoden implementieren, die für alle deine Bauteile gelten. z.B. show() oder calculate() oder info()... was auch immer.

Dann ist es einfacher, da du nur auf Bauteil casten musst, um die für alle Bauteile gültigen Methoden auszuführen:

Code:
Bauteil b = (Bauteil)it.next();
b.machwas();
 
Zurück