Java foreach

/**
 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
    }
}
posted @ 2021-03-06 00:02  HickeyZhang  阅读(68)  评论(0编辑  收藏  举报