Get actual type of generic type argument on abstract superclass

后端 未结 6 1161
自闭症患者
自闭症患者 2020-11-27 20:08

I have a class like:

public abstract class BaseDao {

  protected Class getClazz() {
     return T.class;
  }

  /         


        
6条回答
  •  天命终不由人
    2020-11-27 20:47

    Common way to sort this issue in a secure way is to add a constructor to store the class of the type. Example in your context:

    public abstract class BaseDao {
      private Class classT;
    
      BaseDao(Class classT){
        this.classT=classT;
      }
    
      protected Class getClazz() {
         return classT;
      }
    
      // ...
    
    }
    

提交回复
热议问题