gpt4 book ai didi

java - List.of() — 为什么要提供无法添加/删除/编辑的空元素列表?

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:59 25 4
gpt4 key购买 nike

我测试过的 Java 9 功能之一是 List.of() 创建一个不可修改的列表。我想知道 - 如果此方法返回无法添加/删除/编辑的空元素列表,那么该方法的目的是什么?

我唯一能想到的就是将此列表与另一个空列表进行比较,但为什么不直接使用 someList.isEmpty()

最佳答案

首先,List.of()不创建任何新对象。它指的是一个静态最终常量,我们可以在OpenJDK源代码 List.java 中看到.

static <E> List<E> of() {
return ImmutableCollections.List0.instance();
}

...以及 source code对于 java.util.ImmutableCollections.List0.instance() :

static <T> List0<T> instance() 
return (List0<T>) INSTANCE;
}

List.of()可用于返回空列表而不是 null ,它有很多优点:

  • 消除 NullPointerException 的风险
  • 客户端代码不必检查 null

关于java - List.of() — 为什么要提供无法添加/删除/编辑的空元素列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52572547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com