Carmine:
Tengo la clase siguiente, que compila bien
class MyClass<T> {
MyClass<? extends Number> foo() {
return new MyClass<Integer>();
}
}
pero cuando cambio mi tipo de retorno a esta
class MyClass<T> {
<R extends Number> MyClass<R> foo() {
return new MyClass<Integer>();
}
}
Comienzo a conseguir el error en mi estado de retorno, diciendo
incompatible types: MyClass<java.lang.Integer> cannot be converted to MyClass<R>
TAlex:
es porque en el segundo caso
MyClass<Double> d = foo();
es llamada válida, pero por primera vez no lo es.