日期:2014-05-20 浏览次数:20942 次
public class Test
{
Public Class getMyClass()
{
return Test.class;
}
}
public class Test<E extends Enum<E>>
{
Public Class getEClass()
{
return E.class;//这里怎么处理能返回E的class
}
}
public class Test<E extends Enum<E>> {
private Class<? extends Enum<E>> t_ = null;
public Test(Class<? extends Enum<E>> t) {
this.t_ = t;
}
public Class getEClass() {
return t_;//这里怎么处理能返回E的class
}
}
------解决方案--------------------
因为所有类都有相应的Class对象,所以一定可以返回Class对象
------解决方案--------------------
听高手详解!!!
------解决方案--------------------
据说是Java中伪泛型的缺陷,最接近的可能也就是1楼的方法了,必须手动同步传一个Class对象。
最近我也试着解决这个问题甚至想重写整个Java Collection Framework (*^__^*),有些小的“成果”,可惜越往深处,问题越多,暂时搁浅……
------解决方案--------------------
java泛型采用擦除,在内部程序不知道具体类型。。。。thinking in java说