ArrayList里放数组,怎么调出来各个数组里的元素?

雪峰
业界专家认证
2006-04-28 10:15:36
ArrayList AL=new ArrayList();
int itemthis[]={2, 15};
AL.add(itemthis);
AL.add(new int[] {4, 2});
用上面方法把两个数组加入到ArrayList对象AL里,都没问题。问题是
for (int i=0;i < AL.size();i++)
{
out.println(AL.get(i));
//AL.get(i)的类型变成 Object 了,怎么转换成数组,进而得到数组中原来的元素2、15之类的?
}
...全文
623 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
condor_hero 2006-04-28
  • 打赏
  • 举报
回复
凡是实现List接口的都有一个iterator方法,当然arraylist也不例外,何必要去用for循环。取出的每个对象都是object类型,需要强制转换。
coolbamboo2008 2006-04-28
  • 打赏
  • 举报
回复
xdy3008(俺不能一辈子做个Coder)正解!
雪峰 2006-04-28
  • 打赏
  • 举报
回复
先定义个数组,把AL 里面的数组放进去啊,

for (int i=0;i < AL.size();i++)
{
int[i] = AL.get(i);

}
不知道可以不可以??没试过

不行,AL.get(i) 就是数组,而这时的类型是 Object ,报错都是类型不对。
xdy3008 2006-04-28
  • 打赏
  • 举报
回复
可以转换的: 如下:

for (int i=0;i < AL.size();i++)
{
int[] a=((int[])AL.get(i));
for(int j=0;j<a.length;j++)
{
System.out.println(a[j]);
}

}

通过!!!!!
雪峰 2006-04-28
  • 打赏
  • 举报
回复
out.println(AL.get(i));
这句只是输出一个乱码串,其实AL.get(i)应该是数组变成的 Object 对象,用(Integer)AL.get(i) 也不行,它是变不回整形的。
如果能找到Object 对象强制转换成数组类型的方法也行!
zuguanqun 2006-04-28
  • 打赏
  • 举报
回复
先定义个数组,把AL 里面的数组放进去啊,

for (int i=0;i < AL.size();i++)
{
int[i] = AL.get(i);

}
不知道可以不可以??没试过
qiuyuanshan 2006-04-28
  • 打赏
  • 举报
回复
out.println((Integer)AL.get(i));试下

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧