# Objekte aus Arraylist richtig ansprechen



## shivan (18. Jun 2011)

Hallo zusammen

In einer Arraylist habe ich mehrere Objekte von zwei verschiedenen Klassen. Bitte fragt nicht weshalb ich das so mache (ist eine Vorgabe meiner Aufgabe)...

Nun möchte ich prüfen, um welches Objekt es sich beim jeweiligen ArrayIndex handelt. Dies mache ich wie folgt:


```
for (int zaehler = 0; zaehler > Ventilauflistung.size() - 1; zaehler++) {
                        if (Ventilauflistung.get(zaehler) instanceof Abflussventil) {
                            volumenstrom += Ventilauflistung.get(zaehler).getVolumenstrom
                         }
                    }
```

Der Fehler liegt in der Zeile nach dem IF. Java "findet" meine Methode getVolumenstrom nicht.. Irgendwie ist der Aufruf falsch. Wie spreche ich das Objekt richtig an?

Bin um jede Hilfe dankbar.

Freundliche Grüsse

shivan


----------



## Gast2 (18. Jun 2011)

Dein Code fehlt.


----------



## shivan (18. Jun 2011)

Jetzt ist hoffentlich der ganze Code dargestellt.


```
for (int zaehler = 0; zaehler > Ventilauflistung.size() - 1; zaehler++) {
                        if (Ventilauflistung.get(zaehler) instanceof Abflussventil) {
                            volumenstrom += Ventilauflistung.get(zaehler).getVolumenstrom
                         }
 }
 [\JAVA]
```


----------



## Gast2 (18. Jun 2011)

Fast richtig 

Naja.
Du prüfst zwar ob Ventilauflistung.get(zaehler) vom Typ Abflussventil ist, mehr machst du aber auch nicht. Du musst dann noch auf Abflussventil casten:

```
Abflussventil a = (Abflussventil)Ventilauflistung.get(zaehler);
```
Dann kannst du deine Methode aufrufen.


----------



## shivan (18. Jun 2011)

Danke dir! Du hast mir sehr geholfen!


----------



## Final_Striker (18. Jun 2011)

Die Schleifenbedingungen sind außerdem falsch, richtig wäre:


for (int zaehler = 0; zaehler *<* Ventilauflistung.size(); zaehler++) {


----------

