重複による 2D 配列の変更の保持
Java では、オブジェクトのコピーを作成するときに、参照割り当ての動作を理解することが重要です。指定されたシナリオでは、current と old という名前の 2 つの 2D 配列が、内容をコピーするメソッドとともに定義されています。
old() メソッドは、current 配列を old 配列に割り当てます。ただし、これは単に参照をメモリ内の同じ配列に転送するだけです。 current に更新が行われると、old も同じ基になる配列を指すため、これらの変更が反映されます。
keepold() メソッドは、古い配列を current に割り当てようとします。繰り返しますが、これは参照のみを更新し、元の現在の配列には影響しません。その結果、現在のものに更新が行われると、古い内容は変更されません。
Java で 2D 配列の正確なコピーを作成するには、各要素を手動でコピーする必要があります。あるいは、より効率的にコピーするために、Arrays.stream().map()...toArray() メソッドを利用することもできます。このメソッドは、ストリーム API を使用して各行のクローンを作成し、それらを新しい配列にアセンブルします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3