【发布时间】:2009-04-20 17:44:31
【问题描述】:
延迟初始化集合的最佳方法是什么,我专门研究 Java。我见过有人决定在修改方法中这样做(看起来有点恶心),如下:
public void addApple(final Apple apple) {
if (this.apples == null) {
apples = new LinkedList<Apple>();
}
this.apples.add(apple);
}
您可以将初始化重构为一个方法,并从添加/删除/更新等中调用它......但这似乎有点糟糕。人们还通过以下方式公开集合本身,这往往使情况更加复杂:
public Collection<Apple> getApples() {
return apples;
}
这会破坏封装并导致人们直接访问集合。
延迟初始化的目的纯粹是为了性能。
我很想知道其他人为此提出的方法是什么。有什么想法吗?
【问题讨论】:
标签: java collections