为含有地图的课程实施/提供getter / setter的最佳做法是什么?
我看到的最常见的实现是:
public class MyClass { private Map<String,String> myMap; public getMyMap() { /* Return an unmodifiable map */ } public setMyMap(Map<String,String> myMap) { ... } }
或者最好提供一个界面,如:
public getMyMap() { /* Return a modifiable map */ } public addToMap(String key,String value) { myMap.put(key,value); }
为什么这样的方法更好?