Posso adicionar a uma coleção genérica de valores do tipo A do tipo B, que se estende A, sem nenhuma sintaxe especia
public class Stack<E> {
public Stack () {....}
public void push (E e) {....}
public E pop () {....}
public boolean isEmpty(){....}
}
public void pushAll (Collection<E> src) {
for (E e: src){
push(e)
}
}
Eu não entendo qual será o problema se eu escrever
Stack<number> numberStack = new Stack<Number>();
Collection<Integer> integers=...
numberStack.pushAll(integers);
Integer estende Number, para que eu possa adicionar uma coleção de Inteiros anumberStack
. Mas me disseram que isso é uma compilação de erros - Por quê?