Stavo leggendo i java generics, ho trovato un'interessante query. La mia domanda è la seguente.Java Generics per le wildcard bound bound e lower bound
Per un jolly limitato superiore
public static void printList(List<? extends Number> list) { for (int i = 0; i < 10; i++) { list.add(i);// gives compilation error } }
Per un jolly limitato inferiore
public static void printList(List<? super Integer> list) { for (int i = 0; i < 10; i++) { list.add(i);// successfully compiles } }
Sono confuso con questo, perché guardando la documentazione Sun di Oracle Capisco che il codice dovrebbe essere compilato anche per il punto 1
Upper Bound Wildcard Lower Bound Wildcard
Qualcuno può per favore mi aiuti a capire questo?
@baraky: grazie per il link mi è mancato in qualche modo .. ma la domanda è perché non viene compilata quando il tipo generico sa che deve essere una classe estesa per Numero. Ci scusiamo per la domanda ridondante. Non è ancora chiaro per me. – chaosguru