Hallo Ich habe diesen Fehler:Warum kann ich die Liste <Truck> nicht als Iterable <Vehicle> verwenden?
incompatibles types: List<Car> cannot be converted to Iterable<Iterator>
incompatibles types: List<Truck> cannot be converted to Iterable<Iterator>
Die Klasse Car erweitert die Klasse Fahrzeug. Der Truck erweitert auch das Fahrzeug. Ich muss die Fahrzeugklasse iterierbar anlegen ??
public static void print(Iterable<Vehicle> it){
for(Vehicle v: it) System.out.println(v);
}
public static void main(String[] args) {
List<Car> lcotxe = new LinkedList<Car>();
List<Truck> lcamio = new LinkedList<Truck>();
print(lcotxe);//ERROR
print(lcamio);//ERROR
}
Sie können Generika dafür verwenden; siehe https://ideone.com/kTB71Y –
ändere diesen 'print (Iterable it)' zu diesem 'print (Liste it)' –
siehe auch http://stackoverflow.com/questions/933447/how-do- you-cast-a-Liste-von-Supertypen-zu-einer-Liste-von-Subtypen –