0

Foo<String>以下の Java コードを考えると、アップキャストがFoo<object>機能しない理由を知りたいですか? 基本的に、Java に が のサブクラスである場合、はTのサブクラスであることを伝えたいと思います。Scalaでこれを行う方法があることは知っていますが、Javaでこれを行う方法はありますか? そうでない場合、以下のコードをコンパイルするための回避策はありますか?SFoo<T>Foo<S>

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
    }
}
4

1 に答える 1