
java如何定义一个常量list
用户关注问题
在 Java 中如何创建一个不可修改的 List?
Java 中有没有简单的方法定义一个内容不可变的 List?
使用 Collections.unmodifiableList 创建不可变 List
可以通过将一个普通的 List 包装成不可修改的 List,使用 Collections.unmodifiableList 方法。例如:
List list = Collections.unmodifiableList(Arrays.asList("A", "B", "C"));
这会返回一个不可变的 List,尝试修改时会抛出 UnsupportedOperationException。
怎样在 Java 中定义一个常量类型的 List?
Java 中有没有语法可以直接声明一个常量 List,保证它的引用和内容都不能改变?
使用 final 关键字和不可变集合
可以用 final 关键字保证引用不可变,同时结合不可变集合确保内容不变。比如:
final List CONSTANT_LIST = Collections.unmodifiableList(Arrays.asList("X", "Y", "Z"));
这确保 CONSTANT_LIST 的引用不会被赋新值,且集合内容也不可更改。
Java 9 及以上版本如何方便地创建常量 List?
有没有更简洁的方法来定义一个不可变的 List 常量?
利用 List.of 方法创建不可变 List
Java 9 引入了 List.of 方法,可以直接创建一个不可修改的 List。例如:
List constantList = List.of("a", "b", "c");
该集合是不可变的,试图修改会抛出异常,适合定义常量数据。