URL: https://www.overclockers.at/coding-stuff/java-for-each_245677/page_1 - zur Vollversion wechseln!
Code: JAVAfor(Object obj : world){ if(obj.flag() == 0){ }
Die Klasse "Object" hat keine Methode "flag". Wenn du eine ArrayList<MyClass> world hast wirst du eher etwas in Richtung "for(MyClass obj : world)" brauchen oder du castest obj nach MyClass.
Nein, da die Methode flag() in der Klasse Object nicht existiert. Es gibt afaik zwei Möglichkeiten das Problem zu lösen:Zitat von 11Fire01kann man eine methode aus einer anderen klasse grundsätzlich nicht so aufrufen? World ist eine array list.
Du benoetigst Wildcards - am besten du siehst dir das ganze Thema Generics noch einmal genauer an.
Ich hab dir ein Skript aus unserer VL Soft2 angehaengt, darin siehst du genau, wie es funktioniert.
Oh, Generics is natürlich ein gutes Stichwort. Aber dein pdf lässt sich bei mir nicht downloaden.
Hier ist sonst noch ein Tutorial von Oracle:
https://docs.oracle.com/javase/tuto...nerics/why.html
danke, werds mir mal durchsehen. oberklasse könnte es auch tun...
edit: hier habe ich die möglichkeit von einem common interface gefunden:
http://stackoverflow.com/questions/...fferent-classes
Kannst du sagen, um was für Objekte es sich genau handelt? Wie die anderen schon geschrieben gibt es mehrere Lösungen (Interfaces, Oberklassen etc), die auch alle funktionieren, aber je nach Szenario ist eine Lösung "besser" als die andere.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025