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

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

Integer不是基本类型,是int的包装类,无法把包装当做基本类型来用。 比如,char a = 'c'; int b = (Integer)a; 这样也是回报cannot cast错误的。必须是(int)a,用基本类型才能转。这是第一个问题。 第二个问题 你的list.get(i).get("goods_amou...

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

s2.uniqueResult().longValue();

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

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

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

float和 double 计算的时候 , 主要是减法 , 会丢失精度 , 比如: float a = 1.2f; float b = 1.1f; float c = a-b; System.out.println(c); 这个时候 c是0.100000024 不只是在java中 , 数据库浮点型减法也会有这个问题 而 Decimal 是精确计算 , ...

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

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

测试了下,代码如下: public static void main(String args[]) { BigDecimal b = new BigDecimal(1); BigDecimal a = b.add(new BigDecimal(2)); System.out.println(b); System.out.println(a); } 输出结果为:1 3 也就是原对象的值没被改变啊...

网站地图

All rights reserved Powered by www.5213.net

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