java string compareto method with programming examples
このチュートリアルでは、Java String compareTo()メソッドについて学習し、JavaでcompareToを使用する方法とタイミングを構文と例とともに確認します。
compareTo()Javaメソッドを使用してJava文字列を操作する方法を理解します。このチュートリアルでは、JavaのcompareTo()メソッドを介して取得する出力タイプについても説明します。
このチュートリアルを読んだ後は、文字列操作に.compareTo()メソッドを必要とするJava文字列プログラムを確実に理解して記述できるようになります。
=> ここで完璧なJavaトレーニングガイドをチェックしてください。
学習内容:
Java文字列compareTo()メソッド
Java文字列compareTo()メソッドは、2つの文字列が同一であるかどうかを確認するために使用されます。名前が示すように、2つの指定された文字列を比較し、それらが同じであるか、どちらが大きいかを調べます。
JavaのcompareTo()メソッドの戻り値の型は整数であり、構文は次のようになります。
int compareTo(String str)
上記の構文では、strは呼び出し元の文字列と比較されている文字列変数です。
例えば: String1.compareTo(String2);
Java compareTo()の別のバリエーションは次のとおりです。
int compareTo(Object obj)
上記の構文では、StringとObjectobjを比較します。
例えば 、String1.compareTo( 'これは文字列オブジェクトです');
ここで、「これは文字列オブジェクトです」は、compareTo()に渡す引数であり、String1と比較します。
Java compareTo()メソッドの出力タイプ
出力には、出力値に基づく3つのタイプがあります。
以下は、3種類すべての出力値を説明する表です。
compareTo()出力値 | 説明 |
---|---|
ゼロ | 2つの文字列は等しいです。 |
ゼロより大きい | 呼び出し元の文字列がstrより大きい。 |
ゼロ未満 | 呼び出す文字列はstr未満です。 |
例を使用して、これら3つのバリアントを詳細に理解しましょう。
プログラミング例
次に、compareTo()Javaメソッドの例を示します。比較は、文字のASCII値の違いに基づいています。一般的に、文字列は、辞書内で他の文字列の前にある場合、他の文字列よりも小さくなります。
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Grand Theft Auto'; String str2 = 'Assassin Creed'; String str3 = 'Call of Duty'; String str4 = 'Need for Speed'; String str5 = 'Grand Theft Auto'; System.out.println(str1.compareTo(str2)); // Since 'A' is greater than 'G' by 6 characters, so it will return 6 System.out.println(str2.compareTo(str3)); // Since 'C' is smaller than 'A' by 2 characters, so it will return -2 System.out.println(str3.compareTo(str4)); //Since 'N' is smaller than 'C' by 11 characters, so it will return -11 System.out.println(str4.compareTo(str1)); //Since 'G' is Greater than 'N' by 7 characters, so it will return 7 System.out.println(str1.compareTo(str5)); //Strings are equal } }
出力:
例の説明
上記の例では、5つの入力文字列を取得し、.compareTo()Javaメソッドを使用してそれらの間の基本的な比較を実行しました。最初の比較では、アルファベットシリーズの「A」が「G」より6文字大きいため、+ 6が返されます。 2番目の比較では、「C」が「A」より2文字小さいため、-2が返されます。
最後の比較(str1とstr5の間)では、両方の文字列が等しいため、0を返します。
さまざまなシナリオ
.compareTo()メソッドについて詳しく理解しましょう。ここでは、さまざまなシナリオと各ケースの出力を分析してみます。
シナリオ1: 次の2つの文字列について考えてみます。それらを比較して出力を確認します。
String str1 = 'ソフトウェアテスト';
String str2 = 'ソフトウェアテストヘルプ';
str1.compareTo(str2)の出力はどうなりますか?
回答: str2には、最初の文字列より5文字(1スペース+ 4文字)多く含まれているため。出力は-5である必要があります。同様に、str2とstr1を比較すると、出力は+5になります。
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Software Testing'; String str2 = 'Software Testing Help'; System.out.println(str1.compareTo(str2)); // Since str2 contains 5 characters more than the str1, output should be -5 System.out.println(str2.compareTo(str1)); // Since str2 contains 5 characters less than the str1, output should be +5 } }
出力:
シナリオ2: 次の2つの文字列について考えてみます。それらを比較して出力を確認します。
文字列str1 =“”;
文字列str2 =”“;
Windows10用の無料データベースソフトウェア
str1.compareTo(str2)の出力はどうなりますか?
回答: str2にはstr1より1文字(スペース)多い文字(スペース)が含まれているため、出力は-1になります。
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = ''; String str2 = ' '; System.out.println(str1.compareTo(str2)); //Since str2 contains one character more than str1, it will give -1 System.out.println(str2.compareTo(str1)); //Since str1 contains one character less than str1, it will give 1 } }
出力:
シナリオ3: 次の2つの文字列について考えてみます。それらを比較して出力を確認します。
文字列str1 =“ SAKET”;
文字列str2 =“ saket”;
str1.compareTo(str2)の出力はどうなりますか?
回答: ここでは、文字列は同じですが、str1は大文字ですが、str2は小文字です。これがJavaのcompareTo()メソッドの制限でした。取得する出力はゼロ以外になります。この問題を克服するために、Javaは.compareTo()メソッドの別のバリエーションを導入しました。
.compareToIgnoreCase()
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); //The ASCII representation of the lowercase and uppercase has a difference of 32 } }
出力:
Java文字列compareToIgnoreCase()メソッド
ケースの不一致(シナリオ3)の問題について説明したように、文字列のケースの不一致を無視する.compareTo()メソッドの別のバリアントがすでにあります。
このメソッドの構文は次のように与えられます。
int compareToIgnoreCase(String str)
.compareToIgnoreCase()が大文字と小文字の不一致を考慮しないという事実を除いて、他のすべては同じままです。
プログラミング例
次に、compareTo()Javaメソッドの例を示します。この例では、JavaのcompareTo()とcompareToIgnoreCase()の出力の違いを示しています。 JavaのcompareTo()は-32の差を与えますが、compareToIgnoreCase()は0の差を与えます。
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); System.out.println(str1.compareToIgnoreCase(str2)); } }
出力:
例の説明:
上記の例では、同じ値を持つ2つの文字列を使用して、1つの文字列を大文字に、もう1つの文字列を小文字にしています。現在、Java .compareTo()メソッドは、大文字と小文字を考慮に入れるため、小文字と大文字の値のASCIIの違いに基づいて結果を提供します。
ただし、Java .compareToIgnoreCase()は文字の大文字と小文字を考慮せず、結果を0として返します。これは、両方の文字列が等しいことを意味します。
よくある質問
Q#1)==、equalsと.compareTo()の違いは何ですか?
回答:以下に、==、equals()、compareTo()の主な違いを示します。
!エラー!予期しない演算子 '=' | equals() | compareTo() |
---|---|---|
!エラー!予期しない演算子 '=' | equals()はメソッドです。 | compareTo()はメソッドです。 |
!エラー!予期しない演算子 '=' | equals()メソッドはコンテンツの比較を行います。 | compareTo()は、ASCII値に基づいて比較を行います。 |
戻り値の型はブール値です。 | 戻り値の型はブール値です。 | 戻り値の型は整数です。 |
String変数の参照を使用するため、比較するときはメモリアドレスが同じである必要があります。 | オブジェクトを論理的に順序付ける必要はありません。 | オブジェクトを論理的に順序付ける必要があります。 |
違いを説明するプログラミング例を次に示します。
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = new String('Testing'); String str2 = 'Testing'; System.out.println(str1.compareTo(str2)); System.out.println(str1 ==str2); System.out.println(str1.equals(str2)); } }
出力:
Q#2)JavaのcompareTo()メソッドでは大文字と小文字が区別されますか?
回答: はい。 Java .compareTo()メソッドは文字の大文字と小文字を考慮し、大文字と小文字を区別します。
以下はイラストです。
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
出力:
csqa試験の質問と回答pdf
Q#3) compareTo()はJavaでどのように機能しますか?
回答: JavaのcompareTo()メソッドは、実際には文字列の文字のASCII値を比較します。
.compareTo()メソッドを使用してコンマとスペース文字を比較するとします。ご存知のように、スペース文字のASCII値は32ですが、コンマのASCII値は44です。スペースとコンマのASCII値の差は12です。
以下はプログラミング例です。
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
出力:
Q#4)Java .compareTo()メソッドを使用して文字列の長さを見つける方法は?
回答: 以下に示すのは、Java .compareTo()メソッドを使用して文字列の長さを見つけるプログラムです。
この例では、長さを見つけなければならない1つの文字列と、空の文字列を取得しました。次に、文字列を空の文字列と比較しました。それらの違いは、文字列の長さになります。
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
出力:
Q#5)compareToメソッドは何を返しますか?
回答: JavaのcompareTo()メソッドの戻り値の型は整数です。整数値は、ゼロ、正の整数、または負の整数にすることができます。
結論
このチュートリアルでは、Java String compareTo()メソッドについて詳しく理解しました。 String compareTo()メソッドに関連する概念をよりよく理解するために、基本的な機能、実装の詳細、および使用法、特にプログラミング例が提供されました。
また読む= >> Javaの比較可能およびコンパレータインターフェイス
このメソッドを使用すると、2つの文字列を比較できます。また、よくある質問で説明されているcompareTo()メソッドを使用すると、文字列の長さを見つけるなど、他の多くの使用法やアプリケーション領域も可能です。
=> 独占的なJavaトレーニングチュートリアルシリーズについては、こちらをご覧ください。