ホームページ > Java > &#&チュートリアル > Java の Arrays.copyOf を使用して浅いコピーを実装するにはどうすればよいですか?

Java の Arrays.copyOf を使用して浅いコピーを実装するにはどうすればよいですか?

WBOY
リリース: 2023-04-24 19:31:06
転載
819 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート