반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 테이블
- 문자열
- vscode
- table
- date
- ArrayList
- json
- windows
- Java
- Array
- list
- input
- 자바스크립트
- Visual Studio Code
- 이클립스
- IntelliJ
- html
- javascript
- Maven
- CSS
- Eclipse
- CMD
- string
- Files
- 자바
- 인텔리제이
- js
- 이탈리아
- 배열
- Button
Archives
- Today
- Total
어제 오늘 내일
[Java] String / compareTo(String anotherString) 사용법 및 예제 본문
compareTo(anotherString)
두 개의 문자열을 사전적으로(lexicographically) 비교하는 데 사용됩니다.
- 비교는 문자열의 각 문자에 대한 유니코드 값을 기반으로 합니다.
- 첫 번째로 다른 문자에서 비교 결과가 반환됩니다.
- 비교는 대소문자를 구분하며, 대문자는 소문자보다 작습니다.
Syntax
java.lang.String
public int compareTo(String anotherString)
매개변수
anotherString
- 비교할 문자열
리턴 값
- 0: 두 문자열이 동일할 경우
- 양수값: 문자열이 anotherString보다 사전적으로 클 경우
- 음수값: 문자열이 anotherString보다 사전적으로 작을 경우
예제 1.
코드
public class StringTest01 {
public static void main(String[] args) {
String str1 = "apple";
String str2 = "banana";
String str3 = "apple";
String str4 = "Apple";
// Case 1
System.out.println("'apple' / 'banana': " + str1.compareTo(str2)); // -1
// Case 2
System.out.println("'banana' / 'apple': " + str2.compareTo(str1)); // 1
// Case 3: 같은 문자열
System.out.println("'apple' / 'apple': " + str1.compareTo(str3)); // 0
// Case 4: 대소문자 비교
System.out.println("'apple' / 'Apple': " + str1.compareTo(str4)); // 32
}
}
결과
'apple' / 'banana': -1
'banana' / 'apple': 1
'apple' / 'apple': 0
'apple' / 'Apple': 32
설명
'apple'과 'banana' 비교
'a'의 유니코드 값은 'b'보다 작으므로 결과는 음수 (-1)
'banana'와 'apple' 비교
'b'의 유니코드 값이 'a'보다 크므로 결과는 양수 (1)
'apple'과 'apple' 비교
두 문자열이 같으므로 결과는 0
'apple'과 'Apple' 비교
'a'와 'A'의 유니코드 값 차이는 32.
compareTo()는 대소문자를 구분하므로 결과는 양수(32)
예제 2. 동일한 문자열의 길이가 다른 경우 예제
코드
public class StringTest02 {
public static void main(String[] args) {
String str1 = "apple";
String str2 = "applepie";
String str3 = "apple";
String str4 = "apples";
// Case 1: str1 < str2 (2번째 문자열이 3글자 더 길다)
System.out.println("'apple' / 'applepie': " + str1.compareTo(str2)); // -3
// Case 2: str1 == str3 (동일한 문자열)
System.out.println("'apple' / 'apple': " + str1.compareTo(str3)); // 0
// Case 3: str4 > str1 (1번째 문자열이 1글자 더 길다)
System.out.println("'apples' / 'apple': " + str4.compareTo(str1)); // 1
}
}
결과
'apple' / 'applepie': -3
'apple' / 'apple': 0
'apples' / 'apple': 1
설명
'apple'과 'applepie' 비교
두 문자열에서 첫번째 차이나는 위치는 'applepie'의 6번째 문자인 'p'입니다.
따라서 'apple'이 더 작고, 음수가 리턴됩니다.(-3)
결과값은 문자열의 길이 차이를 나타냅니다.
'apple'과 'apple' 비교
두 문자열이 동일하므로 결과는 0입니다.
'apples'과 'apple' 비교
첫번째 문자열의 길이가 더 길고, 1글자 차이가 나기때문에 양수가 리턴됩니다.(1)
반응형
'IT > Java' 카테고리의 다른 글
[Java] String / codePointAt(int index) 사용법 및 예제 (0) | 2024.12.09 |
---|---|
[Java] String / compareToIgnoreCase(String str) 사용법 및 예제 (0) | 2024.12.02 |
[Java] String / charAt(index) 사용법 및 예제 (1) | 2024.06.17 |
[Java] java, javac 차이점 (0) | 2021.11.01 |
[Java] char 배열을 문자열로 변환하기 (0) | 2021.10.31 |
Comments