반응형
프로그래밍 언어 별로 값을 비교하는 메서드들이 존재한다.
integer 의 값은 값별로 뭐가 크고 작은 값인지 비교가 확실한데 string 일 경우엔 어떻게 비교가 될까?
이럴때 사용하는 메서드가 compareTo 이다.
어떻게 비교가 되는지 살펴보면 다음과 같다.
- int compareTo(NumberSubClass referenceName)
- int compareTo(String anotherString)
- compareTo() 함수는 두개의 값을 비교하여 int 값으로 반환해주는 함수이다.
compareTo() 함수에는 위에서 설명하는바와 같이 "문자열의 비교" 와 "숫자의 비교" 두 방식이 존재한다.
숫자의 비교 같은 경우는 단순히 크다(1), 같다(0), 작다(-1) 의 관한 결과값을 리턴해주는 반면
문자열의 비교 같은 경우는 같다(0), 그 외 양수/음수값 을 반환해준다.
문자열을 좀더 자세히 코드로 보여주면 다음과 같다.
String str = "abcd"; // 1) 비교대상에 문자열이 포함되어있을 경우 System.out.println( str.compareTo("abcd") ); // 0 (같은 경우는 숫자나 문자나 0을 리턴) System.out.println( str.compareTo("ab") ); // 2 System.out.println( str.compareTo("a") ); // 3 System.out.println( str.compareTo("c") ); // -2 System.out.println( "".compareTo(str) ); // -4 // 2) 비교대상과 전혀 다른 문자열인 경우 System.out.println( str.compareTo("zefd") ); // -25 System.out.println( str.compareTo("zEFd") ); // -25 System.out.println( str.compareTo("ABCD") ); // 32 |
반응형
'IT > Java' 카테고리의 다른 글
mybatis에서 <![CDATA[ ]]> 사용 이유 (52) | 2022.08.02 |
---|---|
시간복잡도 계산 (65) | 2022.08.01 |
Map, Set, List 에 대해서 (40) | 2022.07.30 |
배열의 복사(깊은복사, 얕은복사) (60) | 2022.07.29 |
@Autowired 대신 @RequiredArgsConstructor (48) | 2022.07.26 |
댓글