Création de copies profondes de tableaux booléens 2D en Java
Problème :
Évitez d'utiliser . clone() lors de la manipulation de tableaux booléens 2D, car il crée des copies superficielles au lieu de profondes copies.
Question :
Comment effectuer une copie complète d'un tableau booléen 2D en Java ?
Réponse :
Parcourez le tableau d'origine pour créer un nouveau tableau avec des paramètres indépendants éléments.
Solution 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; }
Solution pré-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; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!