list.remove和list=null
时间: 2023-12-17 13:27:30 浏览: 69
根据提供的引用内容,可以得知使用`Collections.emptyList()`方法创建的空集合是不可变的,因此无法使用`list.remove()`方法来移除元素。如果尝试这样做,会抛出`UnsupportedOperationException`异常。另外,将`list`设置为`null`只是将其引用设置为`null`,并不会影响原始列表或其元素。如果尝试在`null`列表上调用方法,会抛出`NullPointerException`异常。
以下是两个例子来演示这两种情况:
```java
// 使用Collections.emptyList()创建空列表
List<Integer> list = Collections.emptyList();
System.out.println(list); // 输出:[]
// 尝试使用list.remove()方法
try {
list.remove(0); // 会抛出UnsupportedOperationException异常
} catch (UnsupportedOperationException e) {
System.out.println("UnsupportedOperationException caught!");
}
// 将list设置为null
list = null;
System.out.println(list); // 输出:null
// 尝试在null列表上调用方法
try {
list.remove(0); // 会抛出NullPointerException异常
} catch (NullPointerException e) {
System.out.println("NullPointerException caught!");
}
```
阅读全文