码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的浅层复制和深层复制

时间:2016-04-21 23:22:44      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

浅层复制代码:

 1 import java.util.*;
 2 
 3 class Int{
 4     private int i;
 5     public Int(int ii){i = ii;}
 6     public void increment(){i++;}
 7     public String toString(){
 8         return Integer.toString(i);
 9     }
10 }
11 
12 public class Cloning{
13     public static void main(String[] args){
14         Vector v = new Vector();
15         for(int i = 0; i < 10; i++)
16             v.addElement(new Int(i));
17         System.out.println("v: "+v);
18         Vector v2 = (Vector)v.clone();
19         for(Enumeration e = v2.elements();e.hasMoreElements();)
20             ((Int)e.nextElement()).increment();
21         System.out.println("v: "+v);
22     }
23 }

输出:

v: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
v: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

分析:

Java中的引用指向原来的对象,任何的修改操作会引起原来对象的修改

Java中的浅层复制和深层复制

标签:

原文地址:http://www.cnblogs.com/hu983/p/5419118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!