日期:2014-05-20 浏览次数:20780 次
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说