본문 바로가기

Programming!

Integer 등의 equals(..)

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