首页 新闻 会员 周边

Java的异常处理

0
[已解决问题] 解决于 2017-05-21 16:08
 1 import java.util.ArrayList;
 2 
 3 public class ExceptionTest {
 4 
 5     public static void main(String[] args) {
 6         
 7         int sum = 0;
 8 
 9         ArrayList al = new ArrayList();
10         for (int i = 0; i < 10; i++) {
11             al.add(new Integer(i));
12         }
13         //al.add("string");
14         for(Object o:al){            
15             sum = sum +(Integer)o;
16         }        
17         System.out.println(sum);        
18     }
19 }

编写并运行程序,去掉注释符号再次运行程序,理解程序为何会产生的异常。(为什么???)

curry萌的主页 curry萌 | 菜鸟二级 | 园豆:208
提问于:2017-05-20 10:00
< >
分享
最佳答案
0

你的ArrayList没有设置泛型,这个是很不好的编程习惯,所以默认就是Object,你可以加Integer,Long,String,Date等类型,都能编译通过,但是当遍历到最后一个类型是String,在强制转换成Integer就会抛出运行时异常。

奖励园豆:5
代码如此多娇 | 菜鸟二级 |园豆:214 | 2017-05-20 22:02

 蟹蟹

curry萌 | 园豆:208 (菜鸟二级) | 2017-05-21 16:08
其他回答(1)
0

后加进去的String
怎么能强制转换为Integer呢 对吧 加油!

Ankermaker | 园豆:251 (菜鸟二级) | 2017-05-20 17:14

 蟹蟹

支持(0) 反对(0) curry萌 | 园豆:208 (菜鸟二级) | 2017-05-21 16:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册