==, 같음의 차이

Java 언어의 equals 메소드는 실제로 개발자에게 넘겨져 재정의하므로 개발자 는 두 객체가 충족하는 조건이 동일한 지 정의 할 수 있습니다.

그래서 우리는 단순히 무엇이 같은지 비교할 수는 없습니다 . 클래스의 equals 메소드가 정의를 보는 것이 무엇을 의미하는지 알고 싶습니다.



Java의 기본 equals 메소드는 다음과 같이 구현됩니다.

public boolean equals(Object obj) {
    return (this == obj);
}


  String 클래스는이 메서드를 재정의하며 직관적으로 문자가 모두 동일한 지 비교합니다.


public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = count;
        if (n == anotherString.count) {
            char v1[] = value;
            char v2[] = anotherString.value;
            int i = offset;
            int j = anotherString.offset;
            while (n-- != 0) {
                if (v1[i++] != v2[j++])
                    return false;
            }
            return true;
        }
    }
    return false;
}

같음을 비교하는 방법은 중요하지 않지만 같음의 목적을 이해하지 못하면 쉽게 밟을 수 있습니다.


추천

출처blog.csdn.net/a447332241/article/details/78953887