코딩 개발/Java
[Java] compareTo 함수(문자, 숫자 사전적 비교)
호소세
2024. 3. 11. 08:54
728x90
반응형
compareTo 메서드
compareTo 메서드는 Java의 Comparable 인터페이스를 구현한 클래스에서 사용할 수 있는 메서드로, 두 객체를 비교하여 순서를 결정합니다. String 클래스는 Comparable 인터페이스를 구현하고 있으므로 문자열 간의 비교에 사용할 수 있습니다. 이 메서드는 다음과 같은 규칙에 따라 비교를 수행합니다:
- 비교 대상인 두 문자열을 비교합니다.
- 첫 번째 문자열이 두 번째 문자열보다 사전적으로 앞에 올 경우, 음수를 반환합니다.
- 첫 번째 문자열이 두 번째 문자열보다 사전적으로 뒤에 올 경우, 양수를 반환합니다.
- 두 문자열이 사전적으로 동일한 경우, 0을 반환합니다.
예시
public class CompareExample {
public static void main(String[] args) {
String str1 = "apple";
String str2 = "banana";
int result = str1.compareTo(str2);
if (result < 0) {
System.out.println(str1 + " comes before " + str2);
} else if (result > 0) {
System.out.println(str1 + " comes after " + str2);
} else {
System.out.println(str1 + " is equal to " + str2);
}
}
}
1. "apple"과 "banana"라는 두 문자열을 비교합니다.
2. compareTo 메서드는 "apple"이 "banana"보다 사전적으로 앞에 올 것으로 판단하여 음수를 반환합니다. 따라서 결과는 "apple comes before banana"(1번)이 됩니다.
* 주의할 점 : compareTo 메서드는 대소문자를 구분하여 비교하므로 대문자가 소문자보다 사전적으로 앞에 옵니다.
소감
개발할 때는 객체 값이나 멤버 변수의 값 비교를 많이 하게 되는데... 현실 세계에서는 비교를 하지 않아야 행복한 삶을 살 수 있더라고요.
요새는 SNS의 발달로 다른 사람의 행복한 모습을 보며 '나의 인생은 왜 이러지'라는 생각을 하게 되는데 그러지 않기 위해 노력해야 한다고 생각합니다.
행복한 나라가 되어야 더 멋진 미래가 기다리는 국가가 되지 않을까 생각합니다.
반응형