Skip to content

Commit 94679e3

Browse files
authored
Update java-collection-precautions-for-use.md
1 parent 64ba69d commit 94679e3

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docs/java/collection/java-collection-precautions-for-use.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public static <T> T requireNonNull(T obj) {
118118

119119
> **不要在 foreach 循环里进行元素的 `remove/add` 操作。remove 元素请使用 `Iterator` 方式,如果并发操作,需要对 `Iterator` 对象加锁。**
120120
121-
通过反编译你会发现 foreach 语法糖底层其实还是依赖 `Iterator` 。不过, `remove/add` 操作直接调用的是集合自己的方法,而不是 `Iterator``remove/add`方法
121+
通过反编译你会发现 foreach 语法底层其实还是依赖 `Iterator` 。不过, `remove/add` 操作直接调用的是集合自己的方法,而不是 `Iterator``remove/add`方法
122122

123123
这就导致 `Iterator` 莫名其妙地发现自己有元素被 `remove/add` ,然后,它就会抛出一个 `ConcurrentModificationException` 来提示用户发生了并发修改异常。这就是单线程状态下产生的 **fail-fast 机制**
124124

@@ -436,4 +436,4 @@ CollectionUtils.addAll(list, str);
436436
```java
437437
Integer[] array = {1, 2, 3};
438438
List<Integer> list = List.of(array);
439-
```
439+
```

0 commit comments

Comments
 (0)