一般情况public class Test
{
Public Class getMyClass()
{
        return Test.class;
}}泛型情况public class Test<E extends Enum<E>>
{
Public Class getEClass()
{
        return E.class;//这里怎么处理能返回E的class
}}

解决方案 »

  1.   

    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
        }}
      

  2.   

    因为所有类都有相应的Class对象,所以一定可以返回Class对象
      

  3.   

    据说是Java中伪泛型的缺陷,最接近的可能也就是1楼的方法了,必须手动同步传一个Class对象。
    最近我也试着解决这个问题甚至想重写整个Java Collection Framework (*^__^*),有些小的“成果”,可惜越往深处,问题越多,暂时搁浅……
      

  4.   

    java泛型采用擦除,在内部程序不知道具体类型。thinking in java说