よろしければ、Javaジェネリックに関する簡単な質問。インスタンス化のジェネリック パラメータとして使用されないジェネリック クラス全体の型を宣言するための構文はありますか。例えば:
public class <U extends FooUType> BarType<T extends FooType<U>>{
public U getU(){return U;}
}
BarType を作成するには、それ自体に U を含む次のように記述しますが、U を個別に指定する必要はありません。そう:
BarType<SomeT<FooUType>> instance
U を個別に指定することなく、パラメータ化された SomeT から暗黙的に U の型を取得します。とは対照的に :
public class BarType<U extends FooUType, T extends FooType<U>>
これには次が必要です。
BarType<FooUType,SomeT<FooUType>>
メソッドで同じアイデアに似たものを探していると思います:
public <U> boolean StupidMethod(String s){
...
}
<? extends FooUType>
を返すクラス内のメソッドの戻り値の型で問題が発生するため、使用したくありません<U extends FooUType> U
。
明確にしてくれてありがとう!