2012-04-17 11 views
-1

可能性の重複:
Get class of genericジェネリック型からClassオブジェクトを取得するには?

私はこれをやろうとしている:

public static<T extends Object> T perform(){ 
    Class<T> classObject = T.class; 
    Class<T> classObjectAgain = T.getClass(); 
    //... 
} 

私は、 "オブジェクトを拡張するには、" .classファイルするために私にアクセスをもたらすだろうと思ったし、 getClass()... これはコンパイルされません: "不正なクラスlitteral"

このような操作をどのように実行できるか知っていますか?

+0

この回答には多くの重複があります。検索にはstackoverflow moreが必要です。 「ジェネリック型からクラスを取得する」のように。 – JMelnik

答えて

1

Javaジェネリックは、タイプ消去によって実装されます(Java 5でのみ登場したため、このタイプの実装は従来のコードをサポートするために選択されています)。

これは、実行時にすべてのジェネリック型が実際にObject型であることを意味します。したがって、リフレクションを使用して、実行時にパラメータ化されたオブジェクトに関する情報を取得することはできません。

関連する問題