컴공생의 다이어리

[자바, Java] 문자열(String) 비교 - ==과 equals() 차이 본문

Development/Java

[자바, Java] 문자열(String) 비교 - ==과 equals() 차이

컴공 K 2021. 9. 1. 00:01

문자열(String) 비교

자바에서는 문자열을 비교할 때, 상황에 맞추어 ==과 equals()를 구분해서 사용해야 한다.

흔히 c/c++, python에서 문자열을 비교하고자 할 때, ==을 사용하지만 java에서의 ==은 주소의 값을 비교한다. 그렇기 때문에 내용 자체를 비교하고자 한다면 equals()를 사용하면 된다.

  • == : 주소의 값 비교
  • equals() : 내용 자체를 비교
public class EqualsTest{
    public static void main(String[] args){
        String a = "JAVA"
        String b = "JAVA"

        String c = new String("JAVA");
        String d = new String("JAVA");
        
        System.out.println( a == b );  // true        
        System.out.println( b == c );  // false  
        System.out.println( c == d );  // false   
        System.out.println( a.equals(b) );  // true   
        System.out.println( b.equals(c) );  // true   
        System.out.println( c.equals(d) );  // true   
    }
}

 

 

 

 

https://mine-it-record.tistory.com/136

 

[JAVA] 자바_equals() 와 == 의 차이점

equals() 와 "==" 는 어떤 차이점이 있을까? 예전에 교육을 들었을때 그냥 "자바에서 문자열을 비교할때는 무조건 equals()를 써야해!" 라는 말만 듣고 왜? 라는 생각은 가지지 못한채 그냥 주구장창 equ

mine-it-record.tistory.com

 

728x90
Comments