==가 Java의 바이트 배열에서 작동하지 않는 이유는 무엇입니까?
예를 들면 :
byte[] a = new byte[]{1,2,3,4};
byte[] b = new byte[]{1,2,3,4};
a == b //false
a.equals(b) //false
Arrays.equals(a,b) //true
==
과 byte[]
의 실현 equals
용도는 비교를 연결합니다. 이 경우 링크는 메모리의 다른 영역을 가리 킵니다. 에 대한 equals
실현을위한 소스 코드를 따라 가면 다음 byte[]
이 표시됩니다.
public boolean equals(Object obj) {
return (this == obj);
}
이것은 실제로 기본 구현입니다. Object
Arrays.equals(a,b)
배열 내용의 비교를 사용합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다