迭代变量不是只读的,可以对其进行修改 //代码1: public class Person{ public String name="张三";//成员变量 } //代码2: import java.util.List; import java.util.ArrayList; public class Test1{ public static void main(String []args){ List<Person> list=new ArrayList<Person>(); Person per=new Person(); Person per1=new Person(); Person per2=new Person(); //将3个对象添加到集合中去 list.add(per); list.add(per1); list.add(per2); System.out.println("用普通for循环给成员变量name赋值"); //循环遍历集合,并给集合中的每个对象赋值 for(int i=0;i<list.size();i++){ Person p=list.get(i); p.name="李四"; } for(int i=0;i<list.size();i++){ Person p=list.get(i); System.out.println(p.name); } System.out.println("用迭代for循环给成员变量name赋值"); for(Person p:list){ p.name="龙卷风"; } for(int i=0;i<list.size();i++){ Person p=list.get(i); System.out.println(p.name); } } }