Hallo
Um die Generics besser zu verstehen, versuche ich eine Liste zwei verschiedene Objects hinzuzufügen. Der Code ist einfach gehalten um einfach das System gut zu erkennen. Grund idee ist, wie geschrieben, verschiedene Objekte (welche von Machine erben) in eine Liste zu packen. Dies sollte meiner Auffassung nach mit der Wildcard funktionieren, oder nicht? Wenn ich es richtig verstanden habe, kann man es so machen, da die Objekte von Machine erben, oder mache ich da einen Denkfehler?
Der Code funktioniert soweit, bis auf das hinzufügen der Objekte...
Besten Dank für eine kurze Hilfestellung!
Um die Generics besser zu verstehen, versuche ich eine Liste zwei verschiedene Objects hinzuzufügen. Der Code ist einfach gehalten um einfach das System gut zu erkennen. Grund idee ist, wie geschrieben, verschiedene Objekte (welche von Machine erben) in eine Liste zu packen. Dies sollte meiner Auffassung nach mit der Wildcard funktionieren, oder nicht? Wenn ich es richtig verstanden habe, kann man es so machen, da die Objekte von Machine erben, oder mache ich da einen Denkfehler?
Der Code funktioniert soweit, bis auf das hinzufügen der Objekte...
Java:
class Machine {
public String toString() {
return "I'm a machine";
}
}
class Camera extends Machine{
public String toString(){
return "I'm a camera";
}
}
class Mobile extends Machine{
public String toString(){
return "I'm a mobile";
}
}
public class generics {
public static void main(String[] args) {
ArrayList<? extends Machine> list = new ArrayList<>();
list.add(new Mobile());
list.add(new Camera());
showList(list);
}
public static void showList(ArrayList<? extends Machine> list){
for(Object m: list){
System.out.println(m);
}
}
}
Besten Dank für eine kurze Hilfestellung!