List间相互赋值问题
一、用list1 = list的方式进行赋值
List<String> list = Arrays.asList(new String[] {"1","2","3"});
//假如此时list内存对应地址的id = 1
List<String> list1 = list;
//此时list1的id = 1
或者:
List<String> list1 = new Arraylist<>();
//新创建了一个对象list1,此时list的id = 4
list1 = list
//当执行这一步操作时并不会将list里的内容拷贝至list1,而是将list1的id更改为1
注意事项:此时list1与list对应的是同一个地址块,即list1只是list的一个引用,对list1进行操作就是对list进行操作,所以对list1进行操作后,无论是输出list还是list1所得到的结果都是经过操作后所得到的结果。
例如:有一个list里面存了数字3、5、1,然后创建了一个新的list1,使list1 = list ,然后对list1进行升序排序,那么你最后无论输出list还是list1,所得到的结果都是1、3、5,同理你对list进行操作得到的结果也是一样。即无论你是对list还是list1进行操作,其实就是对同一块内存里的数据进行操作。
二、真正的将一个list里的值赋给另一个list对象(四种方法)
-
List<In