Nun ja ... Es hat keinen Sinn, man wird Arraylist wie diese erklären, vielmehr wird Ihre Absichten, indem er
Arraylist < Supertype> obj = new Arraylist < Supertype>() erfüllt werden;
Gemäß meiner Erfahrung habe ich diesen Begriff in Methodenargumenten gesehen, wo Sie erwarten, dass Ihr Aufrufer eine Sammlung von Subtypen bestimmter Supertype bereitstellt (oder von einer Methode ebenfalls wie oben beschrieben zurückkehrt). wie wie folgt
public getAnimals(List< ? extends Animal> obj){
obj.add(something); //not allowed
}
gibt es faire Chancen, dass Sie Esel, Affen und Vögel usw. in Ihrer Liste der bestimmten Art sagen (Monkey) hinzufügen können. und bekomme classCastException, wenn du davon kommst.
Deshalb ist es in diesem Fall nicht erlaubt. Lesen Sie Effektives Java von Josh Bloch. er hat es gut mit dem Produzenten Verbraucher Analogie (PECS)
möglich Duplikat erklärt [Wie können Elemente einer Wildcard generische Sammlung hinzugefügt werden?] (http://stackoverflow.com/questions/176446/how-can-elements- werden schöpf-to-a-Wildcard-generic-Sammlung) –