help:ArrayList.get(i)转换成int型的问题
今天碰到一个ArrayList取值问题,特请教各位.
ArrayList boxlist=new ArrayList();
for(int n=0;n <10;n++){
boxlist.add(new Integer[j]);
}
本意是想boxlist的值逐一取出放进数据库中,为了知道取出的值是否正确,
所以写了一个输出语句
for (int m = 0; m < boxlist.size(); m++) {
System.out.println( "box的值= "+boxlist.get(m));
System.out.println(((Integer)boxlist.get(m)).intValue());
}
可以在控制台中可以看到下列错误:
box的值=[Ljava.lang.Integer;@d0d843
java.lang.ClassCastException: [Ljava.lang.Integer;
请问这个怎么解决呢,我一直不明白,为什么会出现这种强制类型转换错误,把
object类型转换成int型是应该用(((Integer)object).intValue())呀.
------解决方案--------------------你这句写错了:
boxlist.add(new Integer[j]);
应该是:
boxlist.add(new Integer(j));
上面放的是数组,下面放的才是对象
如果在这里不能得到满意回答,请尝试到IT付费问答社区www.nlld.net提问
------解决方案--------------------顶楼上的。
new Integer[j]创建的是长度为j的数组。。。
------解决方案--------------------说的对顶楼上的
------解决方案--------------------是啊,你定义成数组了.
------解决方案--------------------粗心惹的祸