> Java > java지도 시간 > Java 배열 비교: `equals()`와 `Arrays.equals()` - 차이점은 무엇입니까?

Java 배열 비교: `equals()`와 `Arrays.equals()` - 차이점은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-28 16:51:12
원래의
247명이 탐색했습니다.

Java Array Comparison:  `equals()` vs. `Arrays.equals()` - What's the Difference?

Java의 배열 비교: 같음과 Arrays.equals

Java의 배열 객체를 비교할 때 같음 간의 미묘한 차이를 이해하는 것이 중요합니다. 및 Arrays.equals.

같음 연산자

Java의 같음 연산자는 두 참조가 메모리의 동일한 개체를 참조하는지 여부를 비교합니다. 배열에 적용하면 두 배열 참조가 동일한 배열 인스턴스를 가리키는지 확인한다는 의미입니다.

Object[] array1, array2;
array1.equals(array2);
로그인 후 복사

이 경우 array1과 array2가 동일한 배열 객체를 참조하면 결과는 다음과 같습니다. 진실. 그렇지 않으면 false가 됩니다.

Arrays.equals 메서드

반대로 Arrays.equals 메서드는 두 배열의 내용을 비교합니다. 배열의 요소 수가 동일한지, 해당 요소가 동일한지 확인합니다.

Arrays.equals(array1, array2);
로그인 후 복사

array1과 array2의 내용이 동일하면 결과는 true입니다. 그렇지 않으면 거짓이 됩니다.

주요 차이점

equals와 Arrays.equals의 주요 차이점은 동일은 참조를 비교하고 Arrays.equals는 비교한다는 것입니다. 내용.

다음 예를 고려하세요.

Object[] array1 = new int[] { 1, 2, 3 };
Object[] array2 = new int[] { 1, 2, 3 };
로그인 후 복사

이 경우 array1.equals(array2)는 false가 됩니다. 왜냐하면 array1 array2는 두 개의 서로 다른 배열 객체입니다. 그러나 Arrays.equals(array1, array2)는 배열의 내용이 동일하기 때문에 true가 됩니다.

Object[] array1 = new int[] { 1, 2, 3 };
Object[] array2 = array1;
로그인 후 복사

이 경우 array1.equals(array2) 및 Arrays.equals(array1, array2) ) array1과 array2가 동일한 배열 객체를 참조하기 때문에 둘 다 참입니다.

위 내용은 Java 배열 비교: `equals()`와 `Arrays.equals()` - 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿