CodeGym /Java Blog /ランダム /Java String CompareTo() メソッド
John Squirrels
レベル 41
San Francisco

Java String CompareTo() メソッド

ランダム グループに公開済み

Java String CompareTo() メソッドとは何ですか?

Java 文字列クラスのCompareTo()メソッドは、両方の文字列が辞書編集的に等しい場合、値 0 を返します。比較された文字列が辞書編集的に大きい場合は正の値が返され、それ以外の場合は負の値が返されます。したがって、Java string CompareTo()メソッドを使用して 2 つの文字列を比較します。このメソッドでは、文字列内の各文字の Unicode 値を比較するために常に使用されます。文字列の比較中に、いずれかが空の場合は、常に文字列の長さを返します。いずれかの文字列が空の場合、2 つのシナリオが実行される可能性があります。最初の文字列が空の場合は負の値を返し、それ以外の場合は正の値を返します。Java string.compareTo()メソッドはデフォルトで大文字と小文字を区別しますが、Java StringクラスのcompareToIgnoreCase()メソッドを使用すると、比較中に大文字と小文字の区別を無視できます。このメソッドは、上で説明したように、負、0、または正の整数も返します。

構文

public int compareTo(string str)
public int compareTo(object obj)

パラメーター

Java string CompareTo()メソッドは、上記の構文でわかるように、文字列またはオブジェクトをパラメーターとして受け取ります。

戻り値

  1. 両方が辞書編集的に等しい場合、0 を返します。
  2. 比較された文字列またはオブジェクトが辞書編集的に大きい場合、正の整数を返します。
  3. 比較されたもののいずれかが辞書順に小さい場合、負の整数を返します。

例外

CompareTo ()メソッドは 2 つの例外を返します。
  • ClassCastException。オブジェクトを比較できない場合は、この例外を返します。
  • NullPointerException。文字列が null の場合、 NullPointerException がスローされます。

Java String 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
ご存知のとおり、strstr1 の文字列は辞書編集的に等しいため、0 が返されます。strとstr2を比較すると、負の 42 の値が返されました。これは、比較された文字列strの方が辞書編集的に小さいため、負の値であり、Unicode 値 t char と J char に基づいているためですの差は 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 string CompareTo()メソッドとは何か、および文字列比較のためにこのメソッドを実装する方法と、空の文字列の比較や大文字と小文字の区別の無視などのさまざまなユーザー ケースについて理解できたと思います。気軽に練習して、さらにサポートが必要なときにいつでも戻ってください。楽しく学習しましょう!
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION