これは、別のクラスのインスタンス変数によって返される ArrayList の使用に関するものです。
Class A {
//assigned list of string to it.
private List < String > newAl;
//returns the list
public List < String > getList() {
return newA1;
}
}
Class Test {
public void go() {
List < String > list = a.getList();
list.add("");
}
}
リストを取得してリストを操作すると、テストクラスで.参照のため、クラスAリストも操作されました.Aがサードパーティコードの一部である場合.元のオブジェクトが影響を受けないようにテストクラスでコードを修正するにはどうすればよいですか?