List浅拷贝,与深的拷贝探讨
来源:互联网 发布:百视通网络电视直播 编辑:程序博客网 时间:2024/06/03 03:40
在探讨List的深浅拷贝时发现一个问题。在进行基本数据类型和String类型拷贝的时候不存在浅拷贝,只有在存放对象为POJO类的时候会出现浅拷贝的问题:
package com.sc.enumtest;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
// Car c1 = CarFactory.Bmw.makeCar();
// Car c2 = CarFactory.Jeep.makeCar();
// Car c3 = CarFactory.Greatwall.makeCar();
// System.out.println(c1 ==c2);
System.out.println("=======================基本类型/Sting类型============================");
List<Integer> list1 = new ArrayList<Integer>();
list1.add(20002909);
list1.add(20030209);
ArrayList<Integer> destList=new ArrayList<Integer>();
destList.addAll(list1);
System.out.println(list1);
System.out.println(destList);
list1.set(0, 111111);
System.out.println("----该表原集合后----");
System.out.println(list1);
System.out.println(destList);
System.out.println("=======================内容为Pojo-============================");
List<Person> list3 = new ArrayList<Person>();
List<Person> list4 = new ArrayList<Person>();
Person p1 = new Person("sc","20");
Person p2 = new Person("ac","10");
list3.add(p1);
list3.add(p2);
list4.addAll(list3);
System.out.println(list3);
System.out.println(list4);
System.out.println("----该表原集合后----");
list3.get(0).setAge("1oo");
System.out.println(list3);
System.out.println(list4);
}
}
运行结果:
=======================基本类型/Sting类型============================
[20002909, 20030209]
[20002909, 20030209]
----该表原集合后----
[111111, 20030209]
[20002909, 20030209]
=======================内容为Pojo-============================
[Person [name=sc, age=20], Person [name=ac, age=10]]
[Person [name=sc, age=20], Person [name=ac, age=10]]
----该表原集合后----
[Person [name=sc, age=1oo], Person [name=ac, age=10]]
[Person [name=sc, age=1oo], Person [name=ac, age=10]]
- List浅拷贝,与深的拷贝探讨
- C++深拷贝与浅拷贝探讨
- 探讨C++中对象的“浅拷贝”与“深拷贝”
- 探讨C++中对象的“浅拷贝”与“深拷贝”
- 探讨C++中对象的“浅拷贝”与“深拷贝”
- 探讨C++中对象的“浅拷贝”与“深拷贝”
- 探讨C++中对象的“浅拷贝”与“深拷贝”
- 探讨C++中对象的“浅拷贝”与“深拷贝”
- 探讨C++中对象的“浅拷贝”与“深拷贝”
- Java中关于list的深拷贝与浅拷贝
- java问题探讨之clone浅拷贝与深拷贝
- 探讨C++中对象的“浅拷贝”与“深拷贝…
- c++中 拷贝构造函数的深拷贝和浅拷贝--“浅拷贝”与“深拷贝”
- 深拷贝与浅拷贝的实现
- 深拷贝与浅拷贝的区别
- c++的深拷贝与浅拷贝
- 深拷贝与浅拷贝的区别
- C++的深拷贝与浅拷贝
- 快速解决tomcat的自动加载问题!
- UVA7267 Mysterious Antiques in Sackler Museum (强行模拟)
- Spring boot快速搭建
- 指针的使用二级指针
- 远程服务器后台运行命令
- List浅拷贝,与深的拷贝探讨
- struts2笔记
- JavaScript闭包
- android拒绝来电的实现demo
- 所有博客
- 嵌入式ARM平台基于Linux配置24bit RGB输出
- ES随机生成学生数据工具
- Eric6与pyqt5学习笔记 1【安装和配置】
- LintCode之2 尾部的零