java--java.math.BigDecimal cannot be cast to java.lnteger

Object不能直接转化成Integer 你首先需要把它转化成String list.get(i).toString(); 再使用 Integer.valueOf(list.get(i).toString()); 有很多转化都是使用String做中继的。

类型转换错误java.math.BigDecimal cannot be cast to java.lang.String

从数据库取出一个 Count函数 统计的值
在代码中要转成Integer类型的时候
List list = query.list();
count = list.get(0);
报了一下错误: java.math.BigDecimal cannot be cast to java.lang.String
解决方法:
final String hql = 'select count(*) from table_name tab tab .column_id1 = ? and tab .column_id2 = ?';
return getHibernateTemplate().execute(new HibernateCallback() {
public Integer doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createSQLQuery(hql);
query.setParameter(0, column_id1);
query.setParameter(1, column_id2);
Listlist = query.list();
int count = 0;
if(null != list && list.size() > 0){
count = Integer.parseInt(list.get(0).toString());
}
return count;
}
});

因为你用sql查出来时候是Object类型的数据.
可以用countResult = Long.valueOf(s.createSQLQuery(sql).uniqueResult().toString());


数据库取出一个 Count函数 统计的值
在代码中要转成Integer类型的时候
Integer.parseInt((String)map.get("ID_")) 
报了一下错误: java.math.BigDecimal cannot be cast to java.lang.String
 
解决方法:
Object ob = map.get("ID_");
Integer.parseInt(ob.toString());




猜你喜欢

转载自zhyp29.iteye.com/blog/2305894