Java FAQ:Cloneable インターフェース

Java FAQ:S027 Q-03

確かに clone() の実装されている java.util.LinkedList とかでは Cloneable を使っているようだ

//class C2008063001 implements Cloneable {
class C2008063001 {
    public C2008063001 dup() {
        try {
            return (C2008063001)this.clone();
        } catch (CloneNotSupportedException e) {
            return null;
        }
    }
}

public class C2008063000 {
    public static void main(String[] args) {
        C2008063001 o1 = new C2008063001();
        C2008063001 o2 = o1.dup();

        System.out.println(o1);
        System.out.println(o2);

        System.out.println(o1 == o2);
    }
}

で、

C2008063001@e63e3d
null
false