www.5213.net > jAvA.mAth.BigDECimAl CAnnot BE CAst to jAvA.lAn...

jAvA.mAth.BigDECimAl CAnnot BE CAst to jAvA.lAn...

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

它个getObjBySql返回的是BigDecimal类型的 BigDecimal data = (BigDecimal) productPackageDao.getXXX(); 如果想得到int值可以调用 data.intValue()

你这个mth字段应该是超长了,转换不成integer 你改成: if(Long.parseLong((String)list.get(i).get("mth"))-1==j)试试吧! 这个错误应该跟sql没关系,是数据库字段定义的是一个比较长的字符串,比如50位的字符串,那么可能转换成integer就不行了。

s2.uniqueResult().longValue();

Object[] record 是一个对象数组 但是list.get(i)是取出集合中的一个对象,若是这个对象是一个Object的数组应该不会报错,很显然,list.get(i)不是数组了把 ,从报出的错误来看就是对象转换异常,list中的应该不是数组

数据转换异常 String类型的数字("123")应该进行强制转换成数字类型(123) ,String类型的字符串(“abc”)强制装换成整形,报这个错误。

空指针错误 s7.equals() s7是空的对象,空的对象不时能调用方法的,一调就会出NullPointerException 可以用"....".equals(s7)

BigDecimal 转 字符串不可强制转换,需要定义数据格式。以下代码为例: BigDecimal d = new BigDecimal(1.0 / 3.0); //定义一个无限小数DecimalFormat df = new DecimalFormat("0.00"); //定义数据格式,保留两位小数String s = df.format(d); /...

这个只是警告,引入了,却没使用。 可保留、不管警告。 如果真实用不到,就不要引入

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

网站地图

All rights reserved Powered by www.5213.net

copyright ©right 2010-2021。
www.5213.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com