int[][] origin = { {1, 3}, {5, 7} };
System.out.println("[얕은 복제 후 비교]");
int[][] clone1 = Arrays.copyOf(origin, origin.length);
System.out.println("배열 번지 비교: " + origin.equals(clone1));
System.out.println("1차 배열 항목값 비교: " + Arrays.equals(origin, clone1));
System.out.println("중첩 배열 항목값 비교: " + Arrays.deepEquals(origin, clone1));
System.out.println("\n[깊은 복제 후 비교]");
int[][] clone2 = Arrays.copyOf(origin, origin.length);
clone2[0] = Arrays.copyOf(origin[0], origin[0].length);
clone2[1] = Arrays.copyOf(origin[1], origin[1].length);
System.out.println("배열 번지 비교: " + origin.equals(clone2));
System.out.println("1차 배열 항목값 비교: " + Arrays.equals(origin, clone2));
System.out.println("중첩 배열 항목값 비교: " + Arrays.deepEquals(origin, clone2));
false
true
true
false
false
true
이렇게 나오는데 왜 나오는지 모르겠음.
equals()가 1차 항목의 값만 비교한다는데 1차 항목의 값이 뭐임...?
댓글 0