1. 浅いコピー手順
プロトタイプ オブジェクト内の値型であるメンバー変数の属性をすべて複製オブジェクトにコピーし、メンバーの参照アドレスもコピーします。プロトタイプ オブジェクト内の参照型の変数。クローン オブジェクトにコピーされます。つまり、プロトタイプ オブジェクト内のメンバ変数が参照オブジェクトの場合、この参照オブジェクトのアドレスはプロトタイプ オブジェクトとクローン オブジェクトの間で共有されます。簡単に言えば、浅いコピーはプロトタイプ オブジェクトのみをコピーしますが、それが参照するオブジェクトはコピーしません。
2.Arrays.copyOf() copy
新しい配列を作成し (つまり、新しいメモリ空間を割り当て)、System.arraycopy() コピーを呼び出します。内容を取得し、新しい配列に代入して、新しい配列を返します。
3. 例
public static byte[] copyOfRange(byte[] original, int from, int to) { int newLength = to - from; if (newLength < 0) throw new IllegalArgumentException(from + " > " + to); byte[] copy = new byte[newLength]; System.arraycopy(original, from, copy, 0,Math.min(original.length - from, newLength)); return copy; }
実際には、System.arraycopy を呼び出しているため、浅いコピーである必要があります。
以上がJava の Arrays.copyOf を使用して浅いコピーを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。