课堂上的集合的自定义getter?

时间:2012-07-24 21:25:38

标签: java

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

我不确定getter是否更适合外部请求的公共访问?

3 个答案:

答案 0 :(得分:4)

翻转问题:为什么不会直接使用hashmap?

最终,答案取决于你实际在做什么。写一个方法从里面你的类中获取哈希值是没有理由的,除非你真的需要做一些事情,而不仅仅是访问哈希值。您的班级是地图的所有者 - 随时随地使用。

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

答案 1 :(得分:1)

取决于你想做什么,这两者都是可以接受的 - 我能想到创建访问器的最好理由是它可以用来维护不变量 - 无论是在课堂内还是在外面 - 但如果你不需要那就是直接使用它。

答案 2 :(得分:-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;
    }
}
相关问题