CodeGym/Java Blog/무작위의/Java 문자열 CompareTo() 메서드
John Squirrels
레벨 41
San Francisco

Java 문자열 CompareTo() 메서드

무작위의 그룹에 게시되었습니다
회원

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() 메서드는 위 구문에서 볼 수 있듯이 문자열이나 객체를 매개변수로 받습니다.

보고

  1. 둘 다 사전순으로 동일하면 0을 반환합니다.
  2. 비교된 문자열이나 객체가 사전순으로 더 큰 경우 양의 정수를 반환합니다.
  3. 비교된 항목 중 하나가 사전순으로 더 작은 경우 음의 정수를 반환합니다.

예외

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

결론

이제 Java 문자열 CompareTo() 메서드가 무엇인지, 문자열 비교를 위해 이를 구현하는 방법과 빈 문자열 비교 및 ​​대/소문자 구분 무시와 같은 다양한 사용자 사례를 이해하셨기를 바랍니다. 자유롭게 연습하고 도움이 더 필요할 때마다 다시 방문하세요. 즐거운 학습!
코멘트
  • 인기
  • 신규
  • 이전
코멘트를 남기려면 로그인 해야 합니다
이 페이지에는 아직 코멘트가 없습니다