일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jQuery
- JSP
- db
- Java
- 형변환
- 이클립스 설정
- Excel
- Eclipse
- 자바스크립트
- JavaScript
- 도커
- 자바
- 한글 깨짐
- 엘라스틱서치
- docker
- HTML
- java 오류
- 인텔리제이
- spring form
- elasticsearch
- tomcat
- 쿼리
- spring 오류
- eclipse 설정
- 엑셀
- CSS
- vscode
- 이클립스
- 데이터베이스
- 자바 리스트
Archives
- Today
- Total
개발노트
compareTo 본문
반응형
compareTo()
- 2개의 값을비교하여 int형으로 결과를 반환해주는 함수이다.
- 문자열의 비교 / 숫자의 비교 방식이 존재한다.
기준값.compareTo(비교값)
1. 숫자형 비교
기준값 = 비교대상 0 |
기준값 < 비교대상 -1 |
기준값 > 비교대상 1 |
/* Wrapper Class인 경우*/
Integer A = 1;
Integer B = 2;
System.out.println( A.compareTo(B) ); // -1 :작다
System.out.println( A.compareTo(1) ); // 0 :같다
System.out.println( A.compareTo(2) ); // 1 :크다
/* int 대상인 경우*/
int A = 1;
int B = 2;
Integer.compare(A,B);
2. 문자열 비교
1) 비교대상에 문자열이 포함되어있을경우
// 1) 비교대상에 문자열이 포함되어있을 경우
String str = "abcd";
System.out.println( str.compareTo("abcd") ); // 결과: 0 (기준값 == 비교대상)
String str = "abcd";
System.out.println( str.compareTo("ab") ); // 결과: 2
System.out.println( str.compareTo("a") ); // 결과: 3
※ str.compareTo("ab") 값이 2가 나온 이유
= 기준값에 비교대상이 포함되어있을 경우 서로의 문자열 길이의 차이값을 리턴해주기 때문이다.
("abcd"에 "ab"가 포함되어 있으므로 문자열 길이의 차이값인 '2'가 나온다)
"abcd" - "ab" = 2 4 - 2 = 2 |
"abcd" - "a" = 3 4 - 1 = 3 |
String str = "abcd";
System.out.println( str.compareTo("c") ); // 결과: -2
System.out.println( "".compareTo(str) ); // 결과: -4
※ str.compareTo("c") 값이 -2가 나온 이유
= comparTo는 같은 위치의 문자만 비교하기 때문에
맨 앞('a')에서 불일치 하기 때문에 아스키값으로 비교처리를 한다.
('a'의 아스키코드 값은 97, 'c'의 아스키코드 값은 99 이므로 차이인 -2가 리턴된다.)
2) 비교대상과 전혀 다른 문자열인 경우
// 2) 비교대상과 전혀 다른 문자열인 경우
String str = "abcd";
System.out.println( str.compareTo("zefd") ); // -25
System.out.println( str.compareTo("zEFd") ); // -25
System.out.println( str.compareTo("ABCD") ); // 32
https://mine-it-record.tistory.com/133
https://yuja-kong.tistory.com/172
반응형
'Programming > JAVA' 카테고리의 다른 글
컬렉션 프레임워크 (Collection Framework) (0) | 2022.05.11 |
---|---|
Wrapper 클래스 / 보조 스트림 (0) | 2022.05.10 |
Comparator - compare / compareTo (0) | 2022.05.08 |
String 클래스 (0) | 2022.05.07 |
Singleton 패턴 (0) | 2022.05.06 |