Java不可变列表

bluesky1年前 ⋅ 100 阅读

ChatGPT的回答仅作参考:

Java中的不可变列表是指一旦创建就不能被修改的列表。Java中有两种不可变列表:Arrays.asList()和Collections.unmodifiableList()。

1. Arrays.asList()

Arrays.asList()方法可以将一个数组转换成一个List对象,这个List对象是不可变的。例如:

```
String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array);
```

这个list对象是不可变的,因为它只是一个数组的视图,不能添加、删除或修改元素。如果尝试修改这个list对象,会抛出UnsupportedOperationException异常。

2. Collections.unmodifiableList()

Collections.unmodifiableList()方法可以将一个可变的List对象转换成一个不可变的List对象。例如:

```
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
List<String> unmodifiableList = Collections.unmodifiableList(list);
```

这个unmodifiableList对象是不可变的,因为它只是一个可变list对象的视图,不能添加、删除或修改元素。如果尝试修改这个unmodifiableList对象,会抛出UnsupportedOperationException异常。

全部评论: 0

    相关推荐