java.lang.Double cannot be cast to java.lang.Integer解决办法「建议收藏」

java.lang.Double cannot be cast to java.lang.Integer解决办法「建议收藏」Integer属于不可更改类型,而且Double和Integer没有任何继承关系,当然不能这样转换,我开始的代码如下:IteratorkeySetItr=param.get(pt).get(pext).iterator();while(keySetItr.hasNext()){intnum=(int)keySetItr.next();…

大家好,欢迎来到IT知识分享网。

Integer属于不可更改类型,而且Double 和Integer没有任何继承关系,当然不能这样转换 ,我开始的代码如下:

Iterator keySetItr = param.get(pt).get(pext).iterator();
while (keySetItr.hasNext()){
            int num =(int)keySetItr.next();
            ydata.add(num.intValue());  
            if(pext.equals("syhs") ){
                double numbe=new BigDecimal((float)num/10000).setScale(2,BigDecimal.ROUND_DOWN).doubleValue();
                hszb.add(numbe);
            }
}

这是我项目中的一段代码,但是运行就错了,最后我改成了如下代码就好了:

Iterator keySetItr = param.get(pt).get(pext).iterator();
        while (keySetItr.hasNext()){
            Number num= (Number) keySetItr.next();
            ydata.add(num.intValue());
            if(pext.equals("syhs") ){
                double numbe=new BigDecimal((float)num.intValue()/10000).setScale(2, BigDecimal.ROUND_DOWN).doubleValue();
                hszb.add(numbe);
            }
        }

注:java.lang.Number是Integer,Double 的父类.

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24741.html

(0)
上一篇 2023-08-14 10:00
下一篇 2023-08-14 21:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信