增强for循环的使用和为什么不能用增强for循环来修改数组内容

package com.yuteng;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @version 1.0
 * @author: 余腾
 * jdk5.0新增了foreach循环 用于遍历集合、数组
 * @date: 2021-07-21 21:02
 */
public class FotTest {
    @Test
    public void test1() {
        Collection coll = new ArrayList();
        coll.add(123);
        coll.add(456);
        coll.add(new Person("Jerry", 20));
        coll.add(new String("Tom"));
        coll.add(false);
        //for(集合元素的类型 局部变量:集合对象)
        //debug 后发现 内部调的还是迭代器
        for (Object obj : coll) {

            System.out.println(obj);
        }
    }
    @Test
    public void  test2(){
        String [] arr=new String[]{"MM","MM","MM"};
        //方式一: 普通赋值
       /* for (int i = 0; i < arr.length; i++) {
            arr[i]="GG";
        }
        */
        // 方式二:增强for循环就不能赋值 因为是相当于s=arr[0] 你改s 对arr[0]没关系  你抓鲁迅关我周树人什么事
        for (String s:arr) {
            s="GG";
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

上一篇:【五】Java基础(05)---集合


下一篇:22.java中的集合内容(附讲解和练习)