Java泛型 T.class的获取
2024-10-09 21:57:00
public interface BaseDao<T> {
T get(String id);
}
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type; public abstract class HibernateBaseDao<T> implements BaseDao<T> {
private Class<T> entityClass; /**
* 这个通常也是hibernate的取得子类class的方法
*
* @author "yangk"
* @date 2010-4-11 下午01:51:28
*/
public HibernateBaseDao() {
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class) params[0];
} @Override
public T get(String id) {
try {
return entityClass.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
} }
14-16行是重点,entityClass即为Class,也就是T.class
本文参考:http://blog.csdn.net/ykdsg/article/details/5472591
最新文章
- ASP.NET点击按钮弹出确认对话框方法
- DataGridViewComboBoxColumn值无效
- JMX超详细解读
- sql学习资料
- LintCode ";Count of Smaller Number before itself";
- css中的border还可以这样玩
- C#扫盲之:==/Equals /ReferenceEquals 异同的总结,相等性你真的知道吗?
- 获取datagrid中编辑列combobox的value值与text值
- hadoop各版本下载
- [HDU] 1068 Girls and Boys(二分图最大匹配)
- Sharepoint2010 通过 WebFeature 修改web.config
- android 应用程序框架
- Android插件化-RePlugin项目集成与使用
- python3全栈开发-多进程的守护进程、进程同步、生产者消费者模式(重点)
- datalist 分页
- kvm虚拟机网络管理
- java中super关键字的作用
- B - Big Event in HDU
- JVM 之类加载
- JAVA中的责任链模式(CH02)
热门文章
- SpringMVC(2)—SpringMVC整合Spring的HelloWorld
- Creating a NuGet Package in 7 easy steps - Plus using NuGet to integrate ASP.NET MVC 3 into existing Web Forms applications
- spring跨域问题
- XSplit Quality, VBV-Buffer, VBV-Maxrate and Preset Settings
- Mac本地环境配置以及安装织梦CMS,增加新的坑解决办法
- spring boot 中添加mongodb支持
- SpringCloud无废话入门05:Spring Cloud Gateway路由、filter、熔断
- webpack Import 动态文件
- Map network drive遇到报错&ldquo;The network folder specified is currently mapped using a different user name and password&rdquo;,怎么办?
- js-将一个对象转换成一个新的对象