- foreach循环遍历时分两种情况
- 当遍历的集合类型是基本数据类型及String类型时,是值传递,即在遍历中改变集合元素状态时,集合本身并不改变。
- 当遍历的集合类型是创建的对象时,是引用传递,在遍历中改变集合元素状态时,集合本身元素状态也改变。
package test;
import test.Person;
import java.util.ArrayList;
import java.util.List;
public class TestForeach {
public static void main(String args[]){
Person person = new Person();
person.setHeight("2222");
person.setName("2222");
List<Person> list = new ArrayList<Person>();
list.add(person);
list.add(person);
list.add(person);
list.add(person);
for (Person ww : list) {
ww.setHeight("3333");
ww.setName("3333");
}
for (Person person2 : list) {
System.out.println(person2.getHeight());
}
}
}
3333
3333
3333
3333