首先是一些示例代码:
public class MyClass {
List<MyObject> list = new ArrayList<MyObject>();
public MyClass(MyObject something) {
getStuff(something ,list)
}
private void getStuff(MyObject obj, List<MyObject> list) {
//do something here and mutate the list
list.add(MyObject);
}
}
这种私有方法不受欢迎,因为它会改变列表,但我不明白为什么?我知道这样做的其他方法,但我只是想知道为什么这是坏的/错误的。