まず、1次元配列について話している場合、ArrayListのJavadocは、配列のcopyOfメソッドを使用しているため、多少間違っています。したがって、clone()は、少なくとも1.5以降(これ以上テストしませんでした)、1次元のコピーを返します。これがJavaでの「浅い」の意味です。1次元
詳細については、http : //www.javapractices.com/topic/TopicAction.do?Id=3を参照してください。したがって、clone()は浅いコピーではありません!1次元配列の実際の浅いコピーが必要な場合は、それを参照してください。
Array a = new Array();
Array b = a; //a is only a shallow copy, nice for synchronisation
Javaは値渡しを行うため、Javaの配列には注意が必要ですが、配列の値はポインターにすぎません。一方、これによりオブジェクトを同期できるようになります。これは素晴らしいことです。それでも、配列(またはArrayLists)内で配列を使用する場合は、コンテナ配列(またはArrayList)のclone()が値をコピーせず、参照のみをコピーするため、いくつかの問題があります。したがって、配列を配列に配置するのではなく、配列内のオブジェクトのみを処理する必要があります。
また、Javadocは理解しにくい場合があるため、テストを試してみてください...
楽しむ!