public int getAllCount() throws Exception {
int count = 0;
String hql = "SELECT COUNT(p.id) from Person AS p";
Query q = this.getSession().createQuery(hql);
List all = q.list();
if (all.size() > 0) {
count = (Integer) all.get(0); //错误就是出在这一行
}
return count;
}
听网上的视频教程,原原本本照着老师敲出的代码,竟然报java.lang.ClassCastException: java.lang.Long 类型转化错误,
心理觉得非常纳闷,而且查了很多网上资料,都未能解决,今天无意间在网上看到了一种转化手段,竟然可以,
所以在此,我就把有关类型转化的方法做一下总结:
1.以上题出错为例,应该这样转:count=((Long)all.get(0)).intValue();
网上很多人说直接用Integer.intValue()来转,可在我的Myeclipse环境下,怎么也打不出这个方法来,不知是不是版本问题。
2.把int转化成Integer有好几种方法:
Integer.valueOf(i)
Integer in=new Integer(i);
3.把String 转化成Integer
Integer.parseInt(str);
Integer.valueof(str);