0
鑑於下面的Java代碼,我想知道爲什麼向上註冊Foo<String>
到Foo<object>
不起作用?基本上我想告訴Java,如果T
是S
的子類,那麼Foo<T>
是Foo<S>
的子類。我知道有一種方法可以在Scala中執行此操作,但有沒有辦法在Java中執行此操作?如果沒有,是否有解決方法來獲得下面的代碼進行編譯?Java Upcasting嵌套類型參數
class Foo<T> {
T t;
public Foo(T t) {
this.t = t;
}
}
class Main {
public static Foo<object> getFoo() {
Foo<String> foo = new Foo("foo");
return foo; // this throws a compile time exception
}
}