考虑到这样的代码:
MyClass<SomeOtherClass> = new MyClass<SomeOtherClass>();
public class MyClass<T> implements IMyClass<T>
{
public MyClass()
{
//I need to get class of SomeOtherClass
}
}
是否有可能在Java中做这样的事情?
更新以获得更清晰
答案 0 :(得分:1)
Java通用实现不允许您了解给定实例的泛型类型参数。这是由于type erasure。
太糟糕了,您无法在评论位置获取SomeOtherClass.class
。
请注意,类型擦除不会阻止获取声明的泛型参数。例如,以下实例将能够获得两个Function
接口通用参数:
class ToStringFunction implement Function<Object,String> {
...
}
在您的情况下,信息可用于字段声明,该声明在您的类实例中不可用。