0

重複の可能性:
ジェネリック型のクラスを決定する方法は?

次のようなコードを考えると:

   MyClass<SomeOtherClass> = new MyClass<SomeOtherClass>();

    public class MyClass<T> implements IMyClass<T> 
    {
       public MyClass()
       {
          //I need to get class of SomeOtherClass
       }
    }

Javaでこのようなことをすることは可能ですか?

より明確にするために更新されました

4

1 に答える 1

1

Java ジェネリック実装では、特定のインスタンスのジェネリック型パラメーターについて知ることはできません。これは型消去によるものです。

残念ながらSomeOtherClass.class、コメントの場所にアクセスすることはできません。

型消去は、宣言のジェネリック パラメーターの取得を妨げないことに注意してください。たとえば、次のインスタンスは、2 つのFunctionインターフェイスのジェネリック パラメーターを取得できます。

class ToStringFunction implement Function<Object,String> {
...
}   

あなたの場合、情報はクラスインスタンス内では利用できないフィールド宣言で利用できます。

于 2012-12-02T21:28:24.763 に答える