我试图了解使用以下命令创建列表的新实例之间的区别:
new ArrayList<X>
和
Collections.emptyList();
据我了解,稍后将返回一个不可变的列表。这意味着无法添加,删除或修改它。我想知道为什么会创建一个不可变的emptyList?有什么用?谢谢
假设您必须返回一个集合,并且您不想每次都创建几个对象。
interface Configurable { List<String> getConfigurationList(); } // class which doesn't have any configuration class SimpleConfigurable implements Configurable { public List<String> getConfigurationList() { return Collections.emptyList(); } }
返回空集合通常比返回更可取 null
null