Meine bisherigen OOP-Erfahrungen habe ich mit Objective-C gemacht (das dynamisch typisiert ist), aber jetzt lerne ich Java. Ich möchte über eine ArrayList von Objekten iterieren und eine bestimmte Methode für sie ausführen. Jedes Objekt in der ArrayList ist von der gleichen Klasse. In Objective-C würde ich einfach bei jeder Iteration prüfen, ob das Objekt der richtigen Klasse angehört, und dann die Methode ausführen, aber diese Technik ist in Java nicht möglich:
for (Object apple : apples) {
if (apple.getClass() == Apple.class) {
apple.doSomething(); //Generates error: cannot find symbol
}
}
Wie "sage" ich dem Compiler, zu welcher Klasse die Objekte in der ArrayList gehören?