Pessoal,
estou com essa dúvida de generics, alguém pode me explicar este código:
public class GenericsTest {
public static void main(String[] args) {
List<Integer> myList = new ArrayList<Integer>();
Bar bar = new Bar();
bar.doInsert(myList);
}
private static class Bar {
public Bar() { }
private void doInsert(List<? super Integer> myList) { // OK, compila
myList.add(new Integer(5));
}
}
}
Mas trocando abaixo…
private void doInsert(List<? extends Number> myList) {
myList.add(new Integer(5)); // Não compila, mas deveria pois Integer extends Number não?
}
Obrigado.