などとするとディープコピーが作れますと、書いてありますが、実はリストに格納しているのがオブジェクトの場合、ディープコピーになりません!! なので、単にコレクションを引数にとって new するだけではだめです。 オブジェクトのコレクションなどをディープコピーするには、 ArrayList<MyObject> myList = new ArrayList<MyObject>(srcList.size()); for (MyObject o : srcList) { // 以下のどちらかを実装 o.add(new MyObject(new o)); // コピーコンストラクタ o.add(o.clone()); // Clonable インターフェース実装 }