我有以下课程,编译很好
class MyClass<T> {
MyClass<? extends Number> foo() {
return new MyClass<Integer>();
}
}
但是当我将我的返回类型更改为此时
class MyClass<T> {
<R extends Number> MyClass<R> foo() {
return new MyClass<Integer>();
}
}
我的回复声明开始出错,说道
incompatible types: MyClass<java.lang.Integer> cannot be converted to MyClass<R>
这是因为第二种情况
MyClass<Double> d = foo();
是有效的电话,但第一个不是。