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()メソッドは、上記の構文でわかるように、文字列またはオブジェクトをパラメーターとして受け取ります。戻り値
- 両方が辞書編集的に等しい場合、0 を返します。
- 比較された文字列またはオブジェクトが辞書編集的に大きい場合、正の整数を返します。
- 比較されたもののいずれかが辞書順に小さい場合、負の整数を返します。
例外
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
ご存知のとおり、strとstr1 の文字列は辞書編集的に等しいため、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
GO TO FULL VERSION