强制转换出错 本帖最后由 meifage 于 2011-08-16 15:13:22 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 事实上在执行是它是一个Integer类型,这是arrayList1.add(a);造成的,所以报错,因为Integer不能强转成Double 没有add之前是Object类型,add后Integer隐形转化为Object吗 arrayList1.get(0)返回的实际类型但是int a=5自动装箱后的Integer类型,所以运行的时候(Double)arrayList1.get(0)实际装换是从Integer转换为Doublec所以会报强制转换错误避免这个错误可以double a=5; arrayList1.get(0)返回类型形式上是Object,实际上arrayList里面第一个元素实际类型是什么返回是什么类型 arrayList1.get(0)实际上Integer,而不是int,所以不能将Integer转成Double。强制转换针对的是基本类型,而不是基本类型的封装类。 Integer对象不能强行转换为Double对象如果想利用java的拆箱装箱机制,可以这样Double d=(Double)arrayList1.get(0); -> Double d=(double)arrayList1.get(0); 好像不能将Object直接转换为double吧。 list.add()将一个Integer转换为object了、一个object转Double是没错、但是运行起来、却是一个Integer转Double所以有错 eclipse的有关问题 简述java是传值还是传引用问题 如何用UML描述 部门,职位,员工 三者之间的关系 创建File的问题 如何确定一个类的大小,有这样一个方法可以调用吗 关于一些基础的问题************************************针对以下题目,请选择最符合题日要求的答案 一个File的问题 如何用java来调用本地工具来运行本地的文件,如调用word打开word文档,急,谢谢 来通俗的介绍一下SUN的SL-275和SL_285,十分感谢。 兄弟决定学JAVA了,放分300,高手过来指教! 谁能给个不报警告的反射例子~~ 远程登录计算机
没有add之前是Object类型,add后Integer隐形转化为Object吗
避免这个错误可以
double a=5;
如果想利用java的拆箱装箱机制,可以这样
Double d=(Double)arrayList1.get(0); -> Double d=(double)arrayList1.get(0);
一个object转Double是没错、
但是运行起来、
却是一个Integer转Double所以有错