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
'💻 > JAVA' 카테고리의 다른 글
[JAVA] 스택 (Stack) · 메서드 정리 (0) | 2024.10.14 |
---|---|
[JAVA] sort함수, 배열 정렬(오름차순, 내림차순) (0) | 2024.10.14 |
[JAVA] Java의 인자 전달 , 포인터 ? - call by value, call by reference (0) | 2024.09.29 |
[JAVA] 자바 Int형 Char형 변환 (0) | 2024.09.23 |
[JAVA] 입출력(I/O)- 스트림(Stream), 버퍼(Buffer), File입출력스트림 정리 (1) | 2024.09.07 |