実行時にクラスのジェネリック型を取得する 質問する

実行時にクラスのジェネリック型を取得する 質問する

どうすればこれを実現できるでしょうか?

public class GenericClass<T>
{
    public Type getMyType()
    {
        //How do I return the type of T?
    }
}

これまで試したことはすべて、Object使用された特定のタイプではなく、常にタイプを返します。

ベストアンサー1

他の人が述べたように、特定の状況では反射によってのみ可能です。

本当に型が必要な場合は、これが通常の(型安全な)回避策パターンです。

public class GenericClass<T> {

     private final Class<T> type;

     public GenericClass(Class<T> type) {
          this.type = type;
     }

     public Class<T> getMyType() {
         return this.type;
     }
}

おすすめ記事