Java 문자열 CompareTo() 메서드란 무엇입니까?
Java 문자열 클래스 CompareTo() 메서드는 두 문자열이 사전순으로 동일한 경우 0 값을 반환합니다. 비교된 문자열이 사전순으로 더 크면 양수 값이 반환되고 그렇지 않으면 음수 값이 반환됩니다. 따라서 Java 문자열 CompareTo() 메서드는 두 문자열을 비교하는 데 사용됩니다. 문자열에 있는 각 문자의 유니코드 값은 항상 이 메서드에서 비교하는 데 사용 됩니다 . 문자열을 비교하는 동안 비어 있는 문자열이 있으면 항상 문자열의 길이를 반환합니다. 문자열 중 하나라도 비어 있으면 두 가지 시나리오가 실행될 수 있습니다. 첫 번째 문자열이 비어 있으면 음수 값을 반환하고, 그렇지 않으면 양수 값을 반환합니다. 기본적으로 Java string.compareTo() 메소드는 대소문자를 구분하지만 Java String 클래스의 CompareToIgnoreCase() 메소드를 사용하여 비교 중에 대소문자 구분을 무시할 수 있습니다. 이 메서드는 위에서 설명한 대로 음수, 0 또는 양수를 반환합니다.통사론
public int compareTo(string str)
public int compareTo(object obj)
매개변수
Java 문자열 CompareTo() 메서드는 위 구문에서 볼 수 있듯이 문자열이나 객체를 매개변수로 받습니다.보고
- 둘 다 사전순으로 동일하면 0을 반환합니다.
- 비교된 문자열이나 객체가 사전순으로 더 큰 경우 양의 정수를 반환합니다.
- 비교된 항목 중 하나가 사전순으로 더 작은 경우 음의 정수를 반환합니다.
예외
CompareTo () 메서드는 2개의 예외를 반환합니다.- ClassCastException , 객체를 비교할 수 없으면 이 예외를 반환합니다.
- NullPointerException , 문자열이 null이면 NullPointerException이 발생합니다.
Java 문자열 CompareTo() 메서드 예
class Main {
public static void main(String[] args) {
// declaring strings to be used in this example for Java string compareTo() method
String str = "Java compareTo() method example";
String str1 = "Java compareTo() method example";
String str2 = "this is Java compareTo() method example";
String str3 = "Java CompareTo() Method Example";
String str4 = "a Java compareTo() method example";
String str5 = new String("Java compareTo() method example");
// comparing the str and str1 strings
System.out.println(str.compareTo(str1));
// comparing the str and str2 strings
System.out.println(str.compareTo(str2));
// comparing the str and str3 strings
System.out.println(str.compareTo(str3));
// comparing the str and str4 strings
System.out.println(str.compareTo(str4));
// comparing the str string and str5 string object
System.out.println(str.compareTo(str5));
}
}
산출
0 -42 74 -23 0
str 과 str1 문자열은 사전순으로 동일하므로 0을 반환했습니다. str과 str2를 비교하는 동안 비교 된 문자열 str이 사전순으로 더 작으므로 음수이고 유니코드 값 t char 및 J char를 기준으로 음수 42 값을 반환 했습니다 . 차이가 42이므로 -42 값이 반환됩니다. 나머지 부분에서는 이 방법을 더 잘 이해하기 위해 결과를 볼 수 있습니다.
빈 문자열의 예
public class Main{
public static void main(String args[]){
String str="compareTo()";
// declaring an empty string
String str1="";
String str2="method";
System.out.println(str.compareTo(str1));
System.out.println(str1.compareTo(str2));
}
}
산출
11 -6
IgnoreCase의 예
public class Main{
public static void main(String args[]){
String str="compareTo()";
// declaring the same string with uppercase letters
String str1="COMPARETO()";
System.out.println(str.compareTo(str1));
System.out.println(str.compareToIgnoreCase(str1));
}
}
산출
32 0
GO TO FULL VERSION