Tiny Bunny
본문 바로가기
💻/JAVA

[JAVA] String 비교하기

by soonybutter 2024. 9. 30.
728x90

 

 

 

1. equals()으로 문자열 비교

equals()를 사용하여 두개의 문자열이 동일한지 비교할 수 있다. 

String str1 = "Hello";
String str2 = "World";
String str3 = "Hello";

System.out.println("str1.equals(str2) : " + str1.equals(str2));
System.out.println("str2.equals(str1) : " + str2.equals(str1));
System.out.println("str1.equals(str3) : " + str1.equals(str3));

 

결과

str1.equals(str2) : false
str2.equals(str1) : false
str1.equals(str3) : true

 

만약 String 값이 null 인경우, 

NullPointerException이 발생하는 것에 대해서 신경쓰고 싶지 않다면(예외처리를 하고 싶지 않다면)

 Objects.equals()를 사용하여 두개의 객체를 비교할 수 있다.

 

그리고 문자열을 비교할 때 대소문자도 구분하여 비교한다.(디폴트)

대소문자를 구분하지 않고 알파벳이 같은지만 보려면 equalsIgnoreCase()를 사용해야 한다.

 

 

 

2. compareTo()를 이용하여 문자열 비교

 

리턴 값은 0, 음수, 양수의 int가 리턴되며 의미는 다음과 같다.

  • 0 : 두개의 문자열이 동일
  • 양수 : compareTo()를 호출하는 객체가 인자보다 사전적으로 순서가 앞설 때
  • 음수 : 인자가 객체보다 사전적으로 순서가 앞설 때
String str1 = "Hello";
String str2 = "Hello";
String str3 = "World";

System.out.println("str1.compareTo(str2) ? " + str1.compareTo(str2));
System.out.println("str1.compareTo(str3) ? " + str1.compareTo(str3));

System.out.println("str1.compareToIgnoreCase(str2) ? " + str1.compareToIgnoreCase(str2));
System.out.println("str1.compareToIgnoreCase(str3) ? " + str1.compareToIgnoreCase(str3));

 

결과

str1.compareTo(str2) ? 0
str1.compareTo(str3) ? -15
str1.compareToIgnoreCase(str2) ? 0
str1.compareToIgnoreCase(str3) ? -15

 

 

 

 

 

 

 

참고 및 출처:  codechacha님 티스토리 블로그

728x90

TOP

Designed by 티스토리