小编Art*_*sov的帖子

收集副本

你通常如何用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)

但是,如果我修改结果的某些元素,原始元素将被更改.

java collections

3
推荐指数
1
解决办法
161
查看次数

标签 统计

collections ×1

java ×1