IT/Java

04_String 연산자

Lyon69003 2019. 11. 29. 13:04

01. String 객체 비교

== 연산자나 .equals() 메소드를 사용하여 비교할 수 있다.

== 연산자는 객체가 동일한가를 비교하고, equals() 연산자는 문자열의 내용만 비교한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class StringEqualsExample {
    public static void main(String[] args) {
        String strVar1 = "Lyon";
        String strVar2 = "Lyon";
        String strVar3 = new String("Lyon");
        
        System.out.println(strVar1 == strVar2);    
        System.out.println(strVar1 == strVar3);   
        System.out.println();
        System.out.println(strVar1.equals(strVar2));
        System.out.println(strVar1.equals(strVar3));    
    }
 
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
 

자바에서는 문자열 리터럴이 동일하면 동일한 String 객체를 참조한다(재활용).

따라서 strVar1과 strVar2는 같은 객체이다.

하지만 strVar3의 경우 new String() 메소드를 통해 '새로운' 객체를 생성했으므로 strVar1, strVar2과는 다른 객체이다.

문자열의 내용은 strVar1, strVar2, strVar3 모두 같다.

 

결과 :