ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 문자열 비교
    공부/Java 2023. 12. 5. 20:01

    자바 문자열 비교

     

    두 문자열을 비교할 때는 비교 연산자 '==' 대신 equals() 메서드를 사용한다.

    비교하는 두 문자열이 같으념 true를, 다르면 false를 반환한다.

     

    예제

    public class ANewDream018 {
    	public static void main(String[] args) {
    		String str1 = "새몽의 기록";
    		String str2 = new String("새몽의 기록");
    
    		System.out.printf("\"새몽의 기록\" == \"새몽의 기록\" ? %b%n", "새몽의 기록" == "새몽의 기록");
    		System.out.printf("str1 == \"새몽의 기록\" ? %b%n", str1 == "새몽의 기록");
    		System.out.printf("str2 == \"새몽의 기록\" ? %b%n", str2 == "새몽의 기록");
    		System.out.println();
    		
    		System.out.printf("str1.equals(\"새몽의 기록\") ? %b%n", str1.equals("새몽의 기록"));
    		System.out.printf("str2.equals(\"새몽의 기록\") ? %b%n", str2.equals("새몽의 기록"));
    	}
    }

     

    결과

    "새몽의 기록" == "새몽의 기록" ? true
    str1 == "새몽의 기록" ? true
    str2 == "새몽의 기록" ? false
    
    str1.equals("새몽의 기록") ? true
    str2.equals("새몽의 기록") ? true

     

    str2와 "새몽의 기록"은 내용이 같지만 '=='로 비교하면 false 결과를 얻는다.

    내용은 같지만 서로 다른 객체라서 그렇다.

     

    equals()는 문자열의 내용만을 비교한다.

    객체가 달라도 문자열이 같다면 true를 반환하기 때문에, 문자열을 비교할 때는 equals()를 사용하는 것이 더 좋다.

     

    만약 영어 대소문자를 구별하지 않고 비교하고 싶은 경우, equals() 대신 equalsIgnoreCase()를 사용하면 된다.

    '공부 > Java' 카테고리의 다른 글

    조건문 : switch문  (2) 2023.12.06
    조건문 : if-else문  (4) 2023.12.06
    논리 연산자의 종류와 기능  (2) 2023.12.05
    자바 반올림 함수 Math.round()  (2) 2023.12.05
    산술 변환  (2) 2023.12.05
Designed by Tistory.