java.lang.Integer cannot be cast to java.lang.String

以下一段代码:

public int getByItemCount(int itemid) throws Exception {
  // TODO Auto-generated method stub
  int count=0;
  String hql="select count(q.qid) from Question as q where q.itemid=?";
  Query q=super.getSession().createQuery(hql);
  q.setInteger(0,itemid);
  
  List all=q.list();
  count=Integer.parseInt( (String)all.get(0));
  return count;
 }

 

 

执行时报错:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String

解决方法:将红色标记的语句改为count=Integer.parseInt( all.get(0).toString());

关于这种类型强制转换的操作问题经常出现在数据库的查询里有 count(),sum()等数据结果中,注意转换的方法,防止犯该种错误。

你可能感兴趣的:(java.lang.Integer cannot be cast to java.lang.String)