java - 将 List.of 用于具有单个元素而不是 Collections.singletonList 的不可变列表
问题描述
Java 9 引入了工厂方法来使用List.of
.
哪个更适合创建一个元素的不可变列表?
List<String> immutableList1 = List.of("one");
List<String> immutableList2 = Collections.singletonList("one");
解决方案
更喜欢使用工厂方法
List<String> immutableList1 = List.of("one");
因为它们不允许空元素是好处之一,而且List
接口中的工厂方法也可以方便地添加多个对象并创建不可变的 List
它们不允许空元素。尝试使用 null 元素创建它们会导致 NullPointerException。
哪里Collections.singletonList
允许null
值
List<String> l = Collections.singletonList(null);
System.out.println(l); //[null]
推荐阅读
- python - 从列表中取消反向号码
- firebase - Firestore 安全规则:允许访问一个特定用户
- docker - 在 pspell debian 上部署 circleci 时出错
- android - 如何在 Kotlin Android 上使用 Retrofit2、RxJava2 读取 JSON 文件
- python - 无法写入对文件的请求获得的 html
- azure - 如何将我自己的模型上传到 Azure 并进行部署?
- python - 使用相同值更新列表子集的 Pythonic 方法
- xml - xslt 1.0 - 基于分隔符标准化/清理空间,然后标记结果(仅限 Vanilla XSLT)
- javascript - Chart.js 图表未显示
- python - Python 是否会两次重新导入文件?