Beh ... Non ha senso una dichiarerà ArrayList come questo, piuttosto le vostre intenzioni saranno fullfilled scrivendo
ArrayList < Supertype> obj = new ArrayList < Supertype>();
Come per la mia epicità, ho visto questa nozione negli argomenti del metodo, dove ci si aspetta che il chiamante fornisca una raccolta di sottotipi di particolare Supertipo (o di ritorno da un metodo come qualcuno ha detto sopra). come nel seguente
public getAnimals(List< ? extends Animal> obj){
obj.add(something); //not allowed
}
ci sono possibilità di fair che è possibile aggiungere asini, scimmie e uccelli, ecc nella vostra lista di certo tipo dire (scimmia). e ottenere classCastException mentre si ottiene da esso.
Ecco perché non è consentito in questo caso. leggi l'efficace Java di Josh Bloch. lo ha spiegato bene con l'analogia del consumatore produttore (PECS)
possibile duplicato di [Come possono essere aggiunti elementi a una raccolta generica con caratteri jolly?] (http://stackoverflow.com/questions/176446/how-can-elements- be-added-to-a-wildcard-generic-collection) –