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;
}
} 展开
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;
}
} 展开
展开全部
泛型,就是广泛的类型。刚开始要用到哪个都不会知道。只有去实例化对象的时候才能确定。泛型的参数只能是对象类型。
你这个程序,T entity-entity就是是一个泛型的引用,你可以在构造方法中为其具体赋值.
例如:
private T entity;
public HibernateDao(T entity)
{this.entity=entity;}
HibernateDao<Strng> h=new HibernateDao<String>("哈哈");
这时,泛型就代表一个String对象.值是哈哈.
在没有泛型之前,这种形式一般都是先定义一个通用的Object obj.然后在构造方法中为其赋值.
你这个程序,T entity-entity就是是一个泛型的引用,你可以在构造方法中为其具体赋值.
例如:
private T entity;
public HibernateDao(T entity)
{this.entity=entity;}
HibernateDao<Strng> h=new HibernateDao<String>("哈哈");
这时,泛型就代表一个String对象.值是哈哈.
在没有泛型之前,这种形式一般都是先定义一个通用的Object obj.然后在构造方法中为其赋值.
展开全部
T的类型是你在实例化对象的时候才传递进去的,传递进去后就知道了赛,不晓得你要的是不是这个结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在定义泛类的时候,你只能去猜测具体会用到什么样的参数类型。这就是泛类性。就是尽可能多的处理未知的参数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询