equals와 Arrays.equals: Java의 배열 비교 방법 비교
Java에서 배열 비교는 간단한 작업이 될 수 있습니다. 그러나 equals 메서드를 사용하는 것과 Arrays.equals 메서드를 사용하는 것에는 미묘한 차이가 있어 예상치 못한 결과가 발생할 수 있습니다.
equals vs. Arrays.equals
equals 메소드는 Object 클래스에서 상속되며 객체에 대한 참조를 비교하는 데 사용됩니다. 배열에 적용하면 array1.equals(array2)는 array1과 array2가 동일한 배열, 즉 동일한 메모리 위치를 공유하는 경우에만 true를 반환합니다.
반면에 Arrays.equals는 (array1, array2)는 구체적으로 배열의 내용을 비교합니다. 배열의 길이가 같고 각 인덱스의 해당 요소가 동일한 경우 true를 반환합니다.
예:
다음 코드를 고려하세요.
Object[] array1 = {1, 2, 3}; Object[] array2 = {1, 2, 3}; System.out.println(array1.equals(array2)); // false System.out.println(Arrays.equals(array1, array2)); // true
이 경우 array1과 array2는 동일한 내용을 가진 별개의 배열입니다. 따라서 array1.equals(array2)는 false를 반환하고 Arrays.equals(array1, array2)는 true를 반환합니다.
사용 사례
추가 고려 사항
위 내용은 Java 배열: equals() 대 Arrays.equals() – 언제 어느 것을 사용해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!