我正在写一些通用的DAO如下

public class MyGenericDAO<T> {

      Class<T> clazz;

      public void doSome(){
        for(int =0 ;i<14;i++){
            //do something
           }
      }
}


现在我想根据T的类型初始化clazz? 。我该怎么做?

例如,如果某人执行MyGenericDAO<Xyz> = new MyGenericDAO<MyGenericDAO>(),则T的类型应为Xyz

我该怎么办?

最佳答案

不幸的是,反射甚至是不可能的。如果需要,您需要制作一个带有MyGenericDao参数的Class<T>构造函数:

public MyGenericDao(class<T> clazz) {
  this.clazz = clazz;
}

关于java - Java中的泛型:标识T的类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15211595/

10-11 04:49