java怎么得到泛型的类型? 10

代码如下publicclassHibernateDao<T>{privateSessionsession=null;publicStringpersitentType;/... 代码如下
public class HibernateDao<T> {
private Session session = null;
public String persitentType;//怎么知道T的type???
public HibernateDao() {
File file = new File("hibernate.cfg.xml");
if (file.exists()) {
Configuration config = new Configuration().configure(file);
SessionFactory factory = config.buildSessionFactory();
this.session = factory.openSession();
} else {
System.out.println("error");
System.exit(0);
}
}
public T GetByID(int id){
T entity = (T) session.get(persitentType, id);
return entity;
}
}
展开
 我来答
百度网友388688327
2009-09-14 · TA获得超过1053个赞
知道小有建树答主
回答量:1297
采纳率:0%
帮助的人:967万
展开全部
泛型,就是广泛的类型。刚开始要用到哪个都不会知道。只有去实例化对象的时候才能确定。泛型的参数只能是对象类型。
你这个程序,T entity-entity就是是一个泛型的引用,你可以在构造方法中为其具体赋值.
例如:
private T entity;
public HibernateDao(T entity)
{this.entity=entity;}
HibernateDao<Strng> h=new HibernateDao<String>("哈哈");

这时,泛型就代表一个String对象.值是哈哈.

在没有泛型之前,这种形式一般都是先定义一个通用的Object obj.然后在构造方法中为其赋值.
is8888
2009-09-14 · TA获得超过695个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:568万
展开全部
T的类型是你在实例化对象的时候才传递进去的,传递进去后就知道了赛,不晓得你要的是不是这个结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
摆渡凌云
2009-09-14 · TA获得超过171个赞
知道小有建树答主
回答量:343
采纳率:100%
帮助的人:201万
展开全部
在定义泛类的时候,你只能去猜测具体会用到什么样的参数类型。这就是泛类性。就是尽可能多的处理未知的参数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式