java易错知识点汇总_1

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     }
原文地址:https://www.cnblogs.com/yif930916/p/13898931.html