我正在阅读J. Bloch的有效Java,现在我在关于避免返回null
s的部分,但返回空集合。这是该代码示例构成部分:创建集合的副本
// The right way to return a copy of a collection
public List<Cheese> getCheeseList() {
if (cheesesInStock.isEmpty())
return Collections.emptyList(); // Always returns same list
else
return new ArrayList<Cheese>(cheesesInStock);
}
我真的不明白,这有什么错刚刚返回cheesesInStock
如果cheesesInStock.isEmpty()
。为什么返回预定义的Collections.emptyList()
更好?如果我们返回cheesesInStock
,我们可能会遇到什么样的麻烦。
的方法评价_“//返回一个**副本的正确方式**收集的” _。你认为'返回奶酪inStock;'呢? –