자료정리/자료정리

[정리] 문자열비교 == 과 equals() 의 차이점

h0-0cat 2023. 8. 7. 15:00
728x90

== 과 equals() 의 차이점
주소값 비교(==)와 값 비교(equals)

==연산자와 equals()메소드의 가장 큰 차이점은 == 연산자는 비교하고자 하는 두개의 대상의 주소값을 비교하는데 반해 String클래스의 equals 메소드는 비교하고자 하는 두개의 대상의 값 자체를 비교한다는 것입니다.

 

 

문자열 비교 (==연산자)

public class h00cat {
    public static void main(String[] args) {
        String h1 = "abcd";
        String h2 = new String("abcd");
		
        if(h1 == h2) {
            System.out.println("h1과 h2 값이 같습니다.");
        }else {
            System.out.println("h1과 h2 값이 같지 않습니다.");
        }
    }
}

실행 시 

h1과 h2 값이 같지 않습니다.

 


문자열 비교 (equals메서드)

public class h00cat {
    public static void main(String[] args) {
        String h1 = "abcd";
        String h2 = new String("abcd");
		
        if(h1.equals(h2)) {
            System.out.println("h1과 h2 값이 같습니다.");
        }else {
            System.out.println("h1과 h2 값이 같지 않습니다.");
        }
    }
}

실행 시 

h1과 h2 값이 같습니다.

 

728x90