retainAll null空指针
时间: 2023-09-13 08:14:08 浏览: 173
List和Set使用retainAll方法的比较
`retainAll()` 方法是用来保留集合中只包含指定集合中的元素,而删除其它元素。如果指定的集合为 `null`,则会抛出 `NullPointerException` 异常。
例如,下面的代码会抛出 `NullPointerException` 异常:
```java
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.retainAll(null); // 抛出 NullPointerException 异常
```
为了避免这种情况,可以先判断指定的集合是否为 `null`,例如:
```java
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
List<Integer> toRetain = null;
if (toRetain != null) {
list.retainAll(toRetain);
}
```
阅读全文