0

如果一个类具有集合数据结构,可能是 hashmap 等,是否可以在类中使用 .get(id) 来访问集合,还是应该编写一个调用 hashmap.get(id) 的方法?

我不确定吸气剂是否更适合来自外部请求的公共访问?

4

3 回答 3

4

翻转问题:为什么直接使用哈希图?

最终,答案取决于你实际在做什么。编写从类内部获取哈希值的方法是零理由,除非您实际上需要做的不仅仅是简单地访问哈希值。您的班级是地图的所有者——随心所欲。

如果您地图公开给您班级的用户,答案可能会有所不同。

于 2012-07-24T21:28:06.787 回答
1

根据您想要做什么,这两种方法都是可以接受的——我能想到的创建访问器的最佳理由是它可以用来维护不变量——无论是在类内部还是外部——但如果你不需要,只需直接使用它。

于 2012-07-24T21:30:30.890 回答
-1

我会按照客户认为合适的方式返回整个 Collection 供客户使用。

package misc;

import java.util.ArrayList;
import java.util.List;

public class Misx {
    private List<String> list = new ArrayList<String>();

    public List<String> getList() {
        return list;
    }

    public void setList(List<String> list) {
        this.list = list;
    }
}
于 2012-07-24T21:58:21.207 回答