を使用して、メソッドの戻り値を入力ガイド:は、Javaのリフレクション
class Test {
Thing<String> getThing(String thing) {}
}
どのように私はString.classは、テストのインスタンスにリフレクションを使用して確認できますか? 私が受けたいパスは、新しいTest() - >クラスを取得 - メソッドを見つける - >戻り値の型を取得 - > - >何とかString.classを取得しますが、最後の部分がどのように行われたかはわかりません。私は今まで私がThing<java.lang.String>
を取得していますが、内部クラスは取得していません。 .getReturnType()
一方
import org.reflections.ReflectionUtils;
Iterables.getOnlyElement(ReflectionUtils.getAllMethods((new Test()).getClass())).getGenericType();
だけでは、標準のリフレクションAPI(ReflectionUtils
を使用する必要はありません)を使用して、それを得ることができJavaでは私Thing.class
...
[型消去](https://docs.oracle.com/javase/tutorial/java/generics/erasure.html)。 –
ok、私はそれを使用する方法を見ていません – mathematician
ジェネリック型でない場合、それは常に – mathematician