`
lishaorui
  • 浏览: 148779 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

深拷贝和浅拷贝

    博客分类:
  • Java
 
阅读更多
刚才在看代码,突然发现对于深拷贝和浅拷贝的定义有些模糊,于是乎就在网上查了下。
1、浅拷贝:是指源对象与拷贝对象公用一个对象实体,就好比,你的名字,你有一个大名,还有一个小名,但是无论是大名还是小名,都是指你本人。其实Java中的对象引用就是这样:
    List origin = new ArrayList();// 声明一个名为origin的List引用,这个引用指向一个ArrayList对象
    List copy = origin;// 声明一个名为copy的List引用,这个引用也指向刚才创建的那个ArrayList对象
    
    // 在这里操作copy对象,就是在操作origin对象,copy和origin其实是引用同一个对象,只是引用的名称不同罢了。




2、深拷贝:是指源对象与拷贝对象是独立的两个对象,但是拷贝对象的各项属性值是与源对象相同的。比如说,你做了一个项目A,但是现在要做一个项目B,你把A拷过来了,虽然项目A和项目B的内容相同,但是他们是两个独立的项目。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics