Java 类内集合的自定义getter?
如果类具有集合数据结构,可能是hashmap等,那么在类中使用.get(id)访问集合是可以接受的,还是应该编写一个调用hashmap.get(id)的方法 我不确定getter是否更适合来自外部请求的公共访问?翻转问题:为什么不直接使用hashmap 最终,答案取决于你实际在做什么。没有理由编写一个从类内部获取散列值的方法,除非您实际上需要做一些事情,而不仅仅是访问散列值。你的班级是地图的主人——按你的方式去做 如果向类的用户公开映射,答案可能不同。翻转问题:为什么不直接使用hashmap 最终,答案取决于你实际在做什么。没有理由编写一个从类内部获取散列值的方法,除非您实际上需要做一些事情,而不仅仅是访问散列值。你的班级是地图的主人——按你的方式去做Java 类内集合的自定义getter?,java,Java,如果类具有集合数据结构,可能是hashmap等,那么在类中使用.get(id)访问集合是可以接受的,还是应该编写一个调用hashmap.get(id)的方法 我不确定getter是否更适合来自外部请求的公共访问?翻转问题:为什么不直接使用hashmap 最终,答案取决于你实际在做什么。没有理由编写一个从类内部获取散列值的方法,除非您实际上需要做一些事情,而不仅仅是访问散列值。你的班级是地图的主人——按你的方式去做 如果向类的用户公开映射,答案可能不同。翻转问题:为什么不直接使用hashmap 最
如果您向类的用户公开映射,答案可能会有所不同。这两种方法都是可以接受的,具体取决于您想做什么-我能想到的创建访问器的最佳理由是,它可以用于维护不变量-无论是在类内部还是外部-但如果您不需要,直接使用它。这两者都是可以接受的,这取决于您想做什么-我能想到的创建访问器的最佳理由是,它可以用于维护不变量-从类内部和外部-但是如果您不需要,直接使用即可。我会将整个收藏归还给客户,让他们根据自己的需要处理
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;
}
}
package杂项;
导入java.util.ArrayList;
导入java.util.List;
公共类Misx{
私有列表=新的ArrayList();
公共列表getList(){
退货清单;
}
公共无效集合列表(列表){
this.list=列表;
}
}
我会将整个收藏归还给客户,让他们根据需要处理
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;
}
}
package杂项;
导入java.util.ArrayList;
导入java.util.List;
公共类Misx{
私有列表=新的ArrayList();
公共列表getList(){
退货清单;
}
公共无效集合列表(列表){
this.list=列表;
}
}
您能举一个您正在考虑的两种方法的例子吗?一个带有私有/受保护hashmap的类。。。。直接调用hashmap的.get()可以吗?还是应该创建一个getter…?您能举一个例子说明您正在考虑的两种方法吗?一个类,带有一个私有/受保护的hashmap。。。。直接调用hashmap的.get()可以吗,还是应该创建一个getter…?酷,它只是用于内部同一类的用法酷,它只是用于内部同一类的用法这种方法的问题是如果你的Misx
类对List
做了一些事情,并且需要在修改List
时得到通知(例如,添加了一个元素)。没有任何Java集合触发事件,因此您将要求此类用户在修改列表时始终替换列表。如果不提供对列表的直接访问,则可以避免此问题此方法的问题是如果您的Misx
类对该列表进行了操作,并且需要提供信息d当列表
被修改时(例如,添加了一个元素)。没有Java集合触发事件,因此您需要此类用户在修改列表时始终替换列表。如果您不提供对列表