-
자바 문자열 비교
두 문자열을 비교할 때는 비교 연산자 '==' 대신 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