[Java] 문자열 비교

Rae-eun Yang·2022년 3월 5일
1

Java

목록 보기
2/2

java에서 문자열을 비교할때는 ==, equals(), compareTo() 등 유용한 함수들이 여러 개 있다.
상황에 따라 적당한 것을 골라 쓰길 바란다.


1. ==

str1 == str2

문자열을 비교할 경우, ==를 사용하는 것은 크게 추천하지 않는다.
문자열 비교에서의 ==는 객체가 같은지만 체크하고 객체 안의 문자열을 비교하지는 않는다.


2. equals()

str1.equals(str2)

조심해야 할 점은 str1이 null일 경우, NullpointerError가 발생한다는 점!
대신 str2는 null이어도 상관이 없다.
간단히 문자열이 같은지 아닌지만 비교할 경우에는 가장 많이 사용한다.


3. compareTo()

str1.compareTo(str2)

위의 1, 2번의 리턴은 boolean 값이었다면, compareTo()의 리턴은 정수값이다.

리턴 값

  • 0 : str1과 str2가 같은 문자열이다
  • (양의 정수) : str1이 str2보다 사전적으로 앞에 있다 (ex. str1 = a, str2 = b)
  • (음의 정수) : str1이 str2보다 사전적으로 뒤에 있다 (ex. str1 = b, str2 = a)

이것을 응용해서 문자열을 사전순으로 정렬하는 문제들을 풀 수 있다!

profile
개발자 지망생의 벨로그

0개의 댓글