1、forEach(增强for循环)
使用增强for循环可以很容易的遍历数组或集合中的元素,因此很容易让人们联想到是否可以使用forEach语句对数组或集合中的元素进行修改呢?
答案是不能的。代码如下:
1 public static void main(String[] args) { 2 3 String[] strs = new String[]{"aaa","bbb","ccc"}; 4 5 for (String str : strs) { 6 str = str + "forEach"; 7 } 8 9 for (String str : strs) { 10 System.out.println(str); 11 } 12 13 }
在本例中,笔者想通过增强for循环,对字符串数组中的每个元素的后面追加一个“forEach”,结果运行结果如下图所示:
分析原因如下:
在增强for循环中,通过迭代器遍历字符串数组中的元素并将其赋值给字符串变量str,然后
str = str + "forEach"
只是将变量str的值进行了修改,并没有对字符串数组中的元素做出更改,因此字符串数组中的各个元素并没有发生变化。
总结:
使用增强for循环语句可以很方便的遍历数组或集合中的元素,但是如果想修改数组或集合中的元素,一般采用传统的for循环语句实现。
【代码如下】
1 public static void main(String[] args) { 2 3 String[] strs = new String[]{"aaa","bbb","ccc"}; 4 5 for (int i = 0; i < strs.length; i++) { 6 strs[i] = strs[i] + "forEach"; 7 } 8 9 for (String str : strs) { 10 System.out.println(str); 11 } 12 }