Rumah >Java >javaTutorial >Bagaimana untuk Mencipta Salinan Dalam bagi Array Boolean 2D di Java?

Bagaimana untuk Mencipta Salinan Dalam bagi Array Boolean 2D di Java?

Patricia Arquette
Patricia Arquetteasal
2024-12-22 01:29:22627semak imbas

How to Create a Deep Copy of a 2D Boolean Array in Java?

Mencipta Salinan Dalam Tatasusunan Boolean 2D di Java

Masalah:

Elakkan menggunakan . clone() apabila memanipulasi tatasusunan boolean 2D, kerana ia menghasilkan salinan cetek bukannya salinan dalam.

Soalan:

Bagaimana untuk melaksanakan salinan dalam tatasusunan boolean 2D dalam Java?

Jawapan:

Lelaran ke atas tatasusunan asal untuk mencipta tatasusunan baharu dengan bebas elemen.

Penyelesaian Java 6:

public static boolean[][] deepCopy(boolean[][] original) {
    if (original == null) {
        return null;
    }
    
    final boolean[][] result = new boolean[original.length][];
    for (int i = 0; i < original.length; i++) {
        result[i] = Arrays.copyOf(original[i], original[i].length);
    }
    return result;
}

Penyelesaian Pra Java 6:

// For Java versions prior to Java 6
public static boolean[][] deepCopy(boolean[][] original) {
    if (original == null) {
        return null;
    }
    
    final boolean[][] result = new boolean[original.length][];
    for (int i = 0; i < original.length; i++) {
        result[i] = new boolean[original[i].length];
        System.arraycopy(original[i], 0, result[i], 0, original[i].length);
    }
    return result;
}

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Salinan Dalam bagi Array Boolean 2D di Java?. 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