你通常如何用Java收集getter?例如,我有两个班级.
public class A
{
String s = "1";
A () {}
}
public class B
{
List<A> list;
public B()
{
list = new ArrayList<>();
}
public List<A> getList()
{
return list;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我喜欢这样的话,我可以这样做:
B elem = new B();
elem.getList().add(new A());
Run Code Online (Sandbox Code Playgroud)
所以它打破了吸气剂的想法.
我可以
public List<A> getList()
{
return new ArrayList<>(list);
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我修改结果的某些元素,原始元素将被更改.