// 示例代码:Java中将一个List赋值给另一个List
import java.util.ArrayList;
import java.util.List;
public class ListAssignmentExample {
public static void main(String[] args) {
// 创建并初始化第一个List
List<String> list1 = new ArrayList<>();
list1.add("Apple");
list1.add("Banana");
list1.add("Orange");
// 方法1:直接赋值(引用传递)
List<String> list2 = list1;
System.out.println("list2 after direct assignment: " + list2);
// 注意:此时list2和list1指向同一个对象,修改一个会影响另一个
// 方法2:使用new ArrayList<>(list1)创建新的List对象
List<String> list3 = new ArrayList<>(list1);
System.out.println("list3 after creating a new list: " + list3);
// 注意:此时list3是list1的一个浅拷贝,修改list1不会影响list3
// 修改list1中的元素
list1.set(0, "Grape");
System.out.println("After modifying list1:");
System.out.println("list1: " + list1);
System.out.println("list2 (same reference as list1): " + list2);
System.out.println("list3 (independent copy): " + list3);
}
}
直接赋值(引用传递):list2 = list1;
这种方式只是将 list1
的引用赋值给 list2
,因此 list2
和 list1
实际上指向的是同一个 List
对象。对其中一个进行修改会影响到另一个。
创建新的 ArrayList
对象:list3 = new ArrayList<>(list1);
这种方式会创建一个新的 ArrayList
对象,并将 list1
中的元素复制到 list3
中。因此 list3
是 list1
的一个浅拷贝,修改 list1
不会影响 list3
。
通过这两种方式,你可以根据实际需求选择如何将一个 List
赋值给另一个 List
。
上一篇:java的基础知识
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站