11
私はJavaでこのような何かをしようとしている:Javaでテンプレート(汎用)パラメータのタイプを見つける方法はありますか?
public static <T> T foo() {
return (T) bar(T);
}
public static Object bar(Class<?> klaz) {
return klaz.newInstance();
}
をしかし、私はクラス<>ため Tを代用することはできませんので、コードはコンパイルされません?。具体的なクラスで
は、私のようなバーを呼び出すことができます。
bar(ConcreteClass.class);
しかし、同じことが Tでは動作しません。すなわち T.class
のようなものは、コンクリートやテンプレートタイプの両方のための typeofの作品は、C#ではありません。したがって、barへの呼び出しは、次のようになりました。
bar(typeof(T));
しかし、私はJavaで同様のものを見つけることができませんでした。
私に何か不足していますか、またはJavaはテンプレートパラメータのタイプを取得する方法がありませんか? Javaにこの機能がない場合、回避策はありますか?