。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

카테고리 없음

equals와 ==

quarrrter 2024. 1. 29. 09:29

공통점:

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;
    }