黑马程序员技术交流社区
标题:
高级for循环咨询
[打印本页]
作者:
涐扪①起奮乧
时间:
2013-11-5 15:53
标题:
高级for循环咨询
本帖最后由 涐扪①起奮乧 于 2013-11-6 10:51 编辑
import java.util.*;
class CollectionToArray
{
public static void main(String[] args)
{
ArrayList<String> al = new ArrayList<String>();//创建对象
al.add("def01");
al.add("def03");
al.add("def02");
al.add("null");
al.add("def04");
for (String s : al)
{
s = "QQ";//给s重新赋值
sop(al);
}
sop(al);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
高级for循环里给s赋值没执行,是因为高级for循环只能获取集合元素,不能对集合中的元素进行修改,增加或者删除。
请问我在for循环里sop(al);结果为:[def01,def03,def02,null,def01]
[def01,def03,def02,null,def01]
[def01,def03,def02,null,def01]
[def01,def03,def02,null,def01]
而不是一行[def01,def03,def02,null,def01]
作者:
kuoge110
时间:
2013-11-5 15:59
本帖最后由 kuoge110 于 2013-11-5 16:01 编辑
你这个for循环等价于
for{int i=0;i<a1.size();i++}{
{
s = "QQ";//给s重新赋值
sop(al);
}
相当于输出了 a1.size()次
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2