Java 9指向空且不可变列表的首选方式是什么?
差异相当细微,因此“首选”取决于您要实现的目标。一些行为上的差异:
List.of``contains(null)
如果调用由于某种奇怪的原因而发生,将引发异常。- 您可以反序列化
emptyList()
JDK 8及更高版本,但不能反序列化List.of
。
用术语或表达方式来说,您想要一个空列表
emptyList()可能看起来更好,但这只是一个临时约定。如果开发人员开始使用
List.of()(比短得多
Collections.emptyList()),那么它将成为一种已知和被接受的方式,这只是新的。如果您考虑一下,我们会使用某些构造,这些构造并不总是传达它们自己所做的事情,但是我们已经习惯了它们。
因此,没有严格的首选方法。如果行为无关紧要,请使用所需的任何内容。



