中易网

两个list,把其中一个赋值到另外一个,然后清空前一个list,为什么后一个list也空了?怎样让其保持不变

答案:3  悬赏:0  
解决时间 2021-02-05 21:35
List i = new ArrayList();
i.add("a");
List b = new ArrayList();
b.add(i);
i.clear();
如何让b不变
最佳答案
  • 二级知识专家网友:一池湖水
  • 2021-02-05 18:50
用b.addAll(i)就对了...

add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素
addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小
理解下这两者的区别...
全部回答
  • 1楼网友:你把微笑给了谁
  • 2021-02-05 21:14
用clear()函数清除全部,用removeall(), removeat(), removefirst(), removelast(), 和 removeone()清除单个。
  • 2楼网友:桃花别处起长歌
  • 2021-02-05 20:28
应该是b.addAll(i);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯