Ich las Java-Generika, stieß ich auf eine interessante Abfrage. Meine Frage ist wie folgt.Java Generics für obere und untere Grenze Wild Cards
Für eine obere beschränkte Wildcard
public static void printList(List<? extends Number> list) { for (int i = 0; i < 10; i++) { list.add(i);// gives compilation error } }
Für eine geringere beschränkte Wildcard
public static void printList(List<? super Integer> list) { for (int i = 0; i < 10; i++) { list.add(i);// successfully compiles } }
Ich bin mit diesem verwirrt, weil an der Sun Oracle-Dokumentation suchen Ich verstehe, dass Der Code sollte auch für Punkt 1 kompilieren
Upper Bound Wildcard Lower Bound Wildcard
Kann jemand bitte helfen Sie mir, dies zu verstehen?
@baraky: danke für den Link habe ich es irgendwie vermisst .. aber immer noch die Frage ist warum kompiliert es nicht, wenn der generische Typ weiß, dass es eine Klasse mit Nummer erweitert werden muss. Sorry für überflüssige Frage. Es ist immer noch unklar für mich. – chaosguru