Class Java

// : 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);
  }
} ///:~