Java에서 2D 부울 배열의 전체 복사본 생성
문제:
사용하지 마세요. 2D 부울 배열을 조작할 때 clone() 깊은 복사본 대신 얕은 복사본을 생성합니다.
질문:
Java에서 2D 부울 배열의 깊은 복사본을 수행하는 방법은 무엇입니까?
답변:
원래 배열을 반복하여 새 배열을 만듭니다. 독립적인 요소를 사용합니다.
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; }
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; }
위 내용은 Java에서 2D 부울 배열의 전체 복사본을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!