String Comparison
CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 21/73。
Javaでは、文字列の比較は数値の比較とは異なります。数値に対しては<、>、==などを使用できますが、文字列はオブジェクトでありプリミティブではないため、異なるメソッドが必要です。
2 つの文字列が同じ内容を持つかどうかを比較する最も一般的で正しい方法は、equals() メソッドを使用することです:
String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";
boolean result1 = str1.equals(str2); // true
boolean result2 = str1.equals(str3); // false (case-sensitive)equalsIgnoreCase() を使用して、大文字小文字を区別せずに文字列を比較したい場合:
String str1 = "Hello";
String str2 = "hello";
boolean result = str1.equalsIgnoreCase(str2); // true多くの初心者は文字列を比較するために == を使用しようとしますが、これは通常間違っています:
String str1 = "hello"; String str2 = "hello"; boolean result = (str1 == str2);
文字列を
==記号で比較しないでください!
チートシート
Javaでは、文字列はオブジェクトであり、比較には特別なメソッドが必要です:
文字列の内容を比較するには(大文字小文字を区別)、equals() を使用します:
String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";
boolean result1 = str1.equals(str2); // true
boolean result2 = str1.equals(str3); // false大文字小文字を無視して文字列を比較するには、equalsIgnoreCase() を使用します:
String str1 = "Hello";
String str2 = "hello";
boolean result = str1.equalsIgnoreCase(str2); // true重要: 文字列を比較するのに == を使用しないでください - それはオブジェクトの参照を比較し、内容ではありません。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else