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您的评论位置。

请注意,类型擦除不会阻止获取声明的泛型参数。例如以下实例将能够获得两个Function接口泛型参数:

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

在您的情况下,信息在您的类实例中不可用的字段声明中可用。

于 2012-12-02T21:28:24.763 回答