在Java 9中,我们如何创建一个不可修改的Set?

2023年 8月 28日 84.0k 0

在Java 9中,我们如何创建一个不可修改的Set?

不可变的静态工厂方法Set.of()可以提供一种方便的方式在Java 9中创建不可修改的集合。

  • 由工厂方法返回的集合通常是不可变的。这意味着不能向集合中添加、删除或替换元素。在集合上调用任何修改器方法都会引发UnsupportedOperationException。
  • 如果集合中的元素是可变的,可能会导致集合的内容看起来发生变化。
  • 可以使用不允许null元素的静态工厂方法创建不可变的集合。如果尝试使用null元素创建集合,会抛出NullPointerException。
  • 在创建不可变集合时,会拒绝重复的元素。将重复的元素传递给静态工厂方法会导致IllegalArgumentException。
  • 集合元素的迭代顺序是未指定的,可能会发生变化。
  • 语法

    Set.of(E... elements)

    登录后复制

    Example

    的中文翻译为:

    示例

    import java.util.Set;
    public class SetOfMethodTest {
    public static void main(String args[]) {
    Set 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 9中,我们如何创建一个不可修改的Set?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论