如果一个类有一个集合数据结构,可能是一个hashmap等,是否可以在类中使用.get(id)来访问该集合,或者你应该编写一个调用hashmap.get(id)的方法?
我不确定getter是否更适合外部请求的公共访问?
答案 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;
}
}