공통점:
boolean type으로 반환
차이점:
equals : 대상의 내용(값)을 비교하는 메서드
== : 대상의 주소값을 비교하는 연산자
메서드: 일련의 작업을 수행하기 위한 코드 블록
연산자: 값을 조작하거나 특정한 계산을 수행하기 위한 기호나 키워드
Object의 equals()
public boolean equals(Object obj) {
return (this == obj);
String 클래스 equals()가 재정의 되어있어서 주소값을 비교하는 것이 아니라 내용을 비교하게 된다.
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}