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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个list,把其中一个赋值到另外一个,然后清空前一个list,为啥后一个list也空了?怎样让其保持不变相关的知识,希望对你有一定的参考价值。

List<String> i = new ArrayList<String>();
i.add("a");
List<Object> b = new ArrayList<Object>();
b.add(i);
i.clear();
如何让b不变

用b.addAll(i)就对了...

add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素
addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小
理解下这两者的区别...
参考技术A 应该是b.addAll(i); 参考技术B 已经回答 by kid本回答被提问者采纳

以上是关于两个list,把其中一个赋值到另外一个,然后清空前一个list,为啥后一个list也空了?怎样让其保持不变的主要内容,如果未能解决你的问题,请参考以下文章

vue3.0数组清空与重新赋值

如何把两个list放到一个list中,然后在页面能获取到ID

python把列表前几个元素提取到新列表

abap怎么把一个内表A的全部数据赋值到另外一个内表B

winform单击按钮重新加载本窗体

Android-Listview中Bitmap的缓存实现有哪些方式