我有一个创建List<Long>
. 然后我有另一个类,其状态为 a List<Long>
- 该类的目标是将主方法的List<Long>
状态作为其状态并对其进行操作而不影响主方法的List<Long>
.
然而,我面临的问题是这个其他类同时影响它的状态(它的private List<Long>
)以及List<Long>
主要方法中的。
如何调整我的代码,使其setTesting(...)
只能影响其类的状态?
public class Main {
public static void main(String[] args) {
final List<Long> mainlist = new ArrayList<Long>();
mainlist.add((long) 1);
mainlist.add((long) 2);
mainlist.add((long) 3);
Test testlist = new Test();
testlist.setTesting(mainlist);
System.out.println(testlist.getTesting());
testlist.removal((long) 1);
System.out.println(testlist.getTesting());
}
}
public class Test {
private List<Long> testing = new ArrayList<Long>();
public Test() {
}
public void removal(Long remove) {
this.testing.removeAll(Collections.singleton(remove));
}
public void setTesting(List<Long> list) {
this.testing = list;
}
public List<Long> getTesting() {
return this.testing;
}
}