如何在 Java 9 中创建不可修改的 Set?
javaobject oriented programmingprogramming更新于 2025/7/13 6:36:17
不可变的静态工厂方法 Set.of() 可以提供一种在 Java 9 中创建不可修改集合的便捷方法。
使用 Set.of() 方法创建的集合实例具有以下特征。
- 工厂方法返回的集合通常是不可变的。这意味着不能从集合中添加、删除或替换元素。调用 Set 上的任何 mutator 方法都会导致 UnsupportedOperationException。
- 如果 Set 所包含的元素是 可变的,则可能会导致 Set 的内容似乎发生变化。
- 可以使用不允许 null 元素的静态工厂方法创建 不可变的set 。如果我们尝试使用 null 元素创建,则会抛出 NullPointerException。
- 在创建不可变集时,它会拒绝 重复的元素。传递给静态工厂方法的重复元素会导致 IllegalArgumentException。
- 集合元素的迭代顺序未指定,并且可能会发生变化。
语法
Set.of(E... elements)
示例
import java.util.Set;
public class SetOfMethodTest {
public static void main(String args[]) {
Set<String> names = Set.of("Adithya", "Bhavish", "Chaitanya", "Jai");
System.out.println("Names - " + names);
names.add("Raja"); // throws UnsupportedOperationException
}
}
输出
Names - [Bhavish, Adithya, Jai, Chaitanya]Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.ImmutableCollections.uoe(Unknown Source) at java.base/java.util.ImmutableCollections$AbstractImmutableSet.add(Unknown Source) at SetOfMethodTest.main(SetOfMethodTest.java:8)
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

