Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menyalin Tatasusunan 2D dengan Betul di Java untuk Mengekalkan Pengubahsuaian?

Bagaimana untuk Menyalin Tatasusunan 2D dengan Betul di Java untuk Mengekalkan Pengubahsuaian?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 22:49:03863semak imbas

How to Properly Copy a 2D Array in Java to Preserve Modifications?

Memelihara Pengubahsuaian Tatasusunan 2D dengan Penduaan

Di Java, apabila mencipta salinan objek, adalah penting untuk memahami gelagat tugasan rujukan. Dalam senario yang diberikan, dua tatasusunan 2D bernama semasa dan lama ditakrifkan, bersama-sama dengan kaedah untuk menyalin kandungan.

Kaedah lama() memperuntukkan tatasusunan semasa kepada lama. Walau bagaimanapun, ini hanya memindahkan rujukan kepada tatasusunan yang sama dalam ingatan. Apabila kemas kini dibuat kepada semasa, lama juga mencerminkan perubahan ini, kerana kedua-duanya menunjuk kepada tatasusunan asas yang sama.

Kaedah keepold() cuba untuk menetapkan tatasusunan lama kepada semasa. Sekali lagi, ini hanya mengemas kini rujukan, meninggalkan tatasusunan semasa asal tidak terjejas. Akibatnya, apabila kemas kini dibuat kepada semasa, kandungan lama kekal tidak berubah.

Untuk mencipta salinan sebenar tatasusunan 2D dalam Java, anda perlu menyalin setiap elemen secara manual. Sebagai alternatif, untuk penyalinan yang lebih cekap, anda boleh menggunakan kaedah Arrays.stream().map()...toArray(), yang menggunakan API aliran untuk membuat klon setiap baris dan memasangnya ke dalam tatasusunan baharu.

Atas ialah kandungan terperinci Bagaimana untuk Menyalin Tatasusunan 2D dengan Betul di Java untuk Mengekalkan Pengubahsuaian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn