2013-07-10 22 views
0

这可以生成一个对象的实例吗?如何生成有界变量类型的实例?

public <?> getDAO (Class<?>DAO){ 

     //if using this DAO class is permitted or DAO class exists 
    //we have HashMap map 
return map.get(DAO); 

} 

或者也许是

public <T> T getDAO (<T extends AGenericDAO> DAO){ // GenericDAO<E,I> 

      //if using this DAO class is permitted or DAO class exists 
     //we have HashMap map 
    return map.get(DAO); 

    } 

回答

1

这听起来像你想要的是:

public <T extends AGenericDAO> T getDAO(final Class<T> daoClass) { 
    return daoClass.cast(map.get(daoClass)); 
} 

其中map具有类型java.util.Map<Class<? extends AGenericDAO>, AGenericDAO>

相关问题