0

java.lang.reflect.TypeJavaは、インターフェイスとそのサブインターフェイス(ParameterizedType、WildcardType)を介して、実行時にフィールドタイプなどのジェネリック型情報を公開します。

あるタイプのオブジェクトを別のタイプにキャストできるかどうか、たとえば、Set<Object>をキャストできるかどうか、またはをキャストできるSetかどうかを判断できるコンポーネントをどこで見つけることができるかを誰かが知っていますか?Comparator<User>Comparator<? extends Object>

java.lang.reflect.Typeこのソリューションは、esだけでなく、で表される型情報に対しても機能Classする必要があり、ジェネリックスを考慮に入れる必要があります。つまり、aList<Integer>をにキャストできないようにする必要がありますList<Object>

よろしく、ヨッヘン

4

3 に答える 3

4

JApache Commons-langをご覧ください:

http://commons.apache.org/proper/commons-lang/javadocs/api-3.7/org/apache/commons/lang3/reflect/TypeUtils.html

于 2012-05-03T13:24:31.430 に答える
3

Guava's TypeTokenは、とりわけこの問題のために設計されています。Classこれは、ジェネリックス対応の代替品となることを目的としています。(開示:私はグアバに貢献します。)

于 2012-05-03T15:38:33.207 に答える
0
if (clazz.isAssignableFrom(otherClazz))
{
    return true; 
}
于 2012-05-03T13:11:02.443 に答える