Written by
java-style
on
on
[Java/Memo] String 클래스의 equals, hashCode메서드
[Java/Memo] String 클래스의 equals, hashCode메서드
Object클래스의 equals메서드는 동일한 객체인지를 판별하는 메서드로 ==연산자와 동일한 결괏값을 반환한다. 즉, 객체의 메모리 주소 값을 비교하여 같으면 true, 다르면 false를 반환한다.
코드1
결과1
반면, String클래스의 equals 메서드는 객체의 문자열 부분만 같은지를 비교한다. 즉, 객체가 다르더라도 문자열만 같다면 true를 반환한다.
코드2
결과2
Object클래스의 hashCode 메서드는 객체의 식별 값(객체 고유의 정수 값)을 반환하는 메서드로 객체를 구별할 때 이용된다.
코드3
결과3
반면, String클래스의 hashCode메서드는 객체 자체의 식별값이나 메모리 주소가 아니라 '객체의 문자열의 식별 값'을 반환한다.
코드4
결과4
따라서, [결과4]와 같이 a와 b는 다른 객체임에도 불구하고 객체의 문자열이 같으므로 동일한 값을 반환한다.
from http://arotein.tistory.com/45 by ccl(A) rewrite - 2021-11-28 19:28:17