¿Puedo agregar a una colección genérica de valores de tipo A de tipo B, que extiende A, sin ninguna sintaxis especial?
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)
}
}
No entiendo cuál será el problema si escribo
Stack<number> numberStack = new Stack<Number>();
Collection<Integer> integers=...
numberStack.pushAll(integers);
Integer extiende Number, por lo que puedo agregar una colección de enteros anumberStack
. Pero me dijeron que esta es una compilación de errores. ¿Por qué?