// 构造方法,根据实例类自动获取实体类类型
public GenericHibernateDao() {
this.entityClass = null ;
Class c = getClass();
Type t = c.getGenericSuperclass();
if (t instanceof ParameterizedType) {
Type[] p = ((ParameterizedType) t).getActualTypeArguments();
this.entityClass = (Class<T>) p[0];
}
}
当然上面的代码不是万能的,只有实例化了GenericHibernateDao的子类才可以按上述方法获得T,如果子类没有实例化T的话,是无法获取的。
本文介绍了一个用于从实例类中自动获取实体类类型的Java构造方法,并解释了其工作原理及使用限制。
1万+

被折叠的 条评论
为什么被折叠?



