2012-03-10 7 views
0

はありparamterized型Javaリフレクションを取得:例について反射</p> <p>を使用して、フィールドの内側の型パラメータを取得するために、とにかく

public final class Main 
{ 
     class A 
     { 
       public int aX; 
       public String aS; 
     } 

     class B 
     { 
       public Set<A> bSet; 
     } 
     public static void main(String[] args) 
     { 
       Class clazz = B.class.getField("bSet").getType(); 
     } 
}; 

I上記の取得のみ「に設定」することができます使用して私はとにかくありAも得られるだろうか? ありがとう

答えて

3

実際には、フィールド(およびクラスなど)の完全なパラメータ化された型を返すことができます。実行時に型が消去されるのはオブジェクトのみです。

getTypeの代わりにgetGenericTypeと呼び出して、javadocの読み取りを開始してください。

+0

ありがとう:)私はどのように私がそれを逃したのか疑問に思っていました。 –