XX .equals(..) 와 '==' 에 대해서는 많이들 알고 있는 내용이구..
Integer 타입이나 Long타입등등에 보면 .equals가 있다. 소스를 보면 다음과 같다.
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
즉, 타입 체크 후 '값'을 비교하게 된다.
Integer first = 0;
Integer last = 0;
first.equals(last); // true
Integer first = 0;
Integer last = 1;
first.equals(last); // false
그러나 개인적으로는 값을 비교할때는 equals 보다는 compareTo 쓰는게 좋으려나?...
Integer first = 0;
Integer last = 1;
first.compareTo(last) == 0; // false