java如何定义一个常量list

java如何定义一个常量list

作者:Rhett Bai发布时间:2026-02-14阅读时长:0 分钟阅读次数:2

用户关注问题

Q
在 Java 中如何创建一个不可修改的 List?

Java 中有没有简单的方法定义一个内容不可变的 List?

A

使用 Collections.unmodifiableList 创建不可变 List

可以通过将一个普通的 List 包装成不可修改的 List,使用 Collections.unmodifiableList 方法。例如:

List list = Collections.unmodifiableList(Arrays.asList("A", "B", "C"));

这会返回一个不可变的 List,尝试修改时会抛出 UnsupportedOperationException。

Q
怎样在 Java 中定义一个常量类型的 List?

Java 中有没有语法可以直接声明一个常量 List,保证它的引用和内容都不能改变?

A

使用 final 关键字和不可变集合

可以用 final 关键字保证引用不可变,同时结合不可变集合确保内容不变。比如:

final List CONSTANT_LIST = Collections.unmodifiableList(Arrays.asList("X", "Y", "Z"));

这确保 CONSTANT_LIST 的引用不会被赋新值,且集合内容也不可更改。

Q
Java 9 及以上版本如何方便地创建常量 List?

有没有更简洁的方法来定义一个不可变的 List 常量?

A

利用 List.of 方法创建不可变 List

Java 9 引入了 List.of 方法,可以直接创建一个不可修改的 List。例如:

List constantList = List.of("a", "b", "c");

该集合是不可变的,试图修改会抛出异常,适合定义常量数据。