5
我很難理解爲什麼會發生下面的錯誤。如果#1沒問題,爲什麼#2不是?爲什麼這種自引用泛型指派是非法的?
public interface IFoobar<DATA extends IFoobar> {
void bigFun();
}
class FoobarImpl<DATA extends IFoobar> implements IFoobar<DATA> {
public void bigFun() {
DATA d = null;
IFoobar<DATA> node = d; //#1 ok
d = node; //#2 error
}
}