Mega Code Archive

 
Categories / Java / Class
 

The clone operation works for only a few items in the standard Java library

// : appendixa:Cloning.java // The clone() operation works for only a few // items in the standard Java library. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. import java.util.ArrayList; import java.util.Iterator; class Int {   private int i;   public Int(int ii) {     i = ii;   }   public void increment() {     i++;   }   public String toString() {     return Integer.toString(i);   } } public class Cloning {   public static void main(String[] args) {     ArrayList v = new ArrayList();     for (int i = 0; i < 10; i++)       v.add(new Int(i));     System.out.println("v: " + v);     ArrayList v2 = (ArrayList) v.clone();     // Increment all v2's elements:     for (Iterator e = v2.iterator(); e.hasNext();)       ((Int) e.next()).increment();     // See if it changed v's elements:     System.out.println("v: " + v);   } } ///:~