陈肇
蝴蝶為婲醉,婲欲隨風飛,婲舞婲落淚,婲哭婲瓣飛,婲開為誰謝,婲謝為誰悲!

 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);

posted on 2009-12-24 23:23  陈肇  阅读(1684)  评论(0编辑  收藏  举报