/**
jdk5.0新增了foreach,用来遍历集合、数组
foreach内部调用的还是迭代器
*/
public class TestForeach {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4};
for (int i : arr) {//foreach不能改变数组的元素
i = 3;
}
for (int i : arr) {
System.out.println("i = " + i);
}
//i = 1
//i = 2
//i = 3
//i = 4
Person[] persons = new Person[]{new Person(12, "Jack"), new Person(18, "Hick"), new Person(16, "Jik")};
for (Person person : persons) {//没有什么影响
person = new Person(0, " ");//并没有修改persons
}
for (Person person : persons) {//虽然foreach不能改变数组的元素,但能修改数组元素的某一项。
person.age = 0;
}
for (Person person : persons) {
System.out.println("person.name = " + person.name);
System.out.println("person.age = " + person.age);
}
//person.name = Jack
//person.age = 0
//person.name = Hick
//person.age = 0
//person.name = Jik
//person.age = 0
}
}