【Java】文字列の比較について(equals、equalsIgnoreCase、compareTo)

【Java】文字列の比較について(equals、equalsIgnoreCase、compareTo)

管理人
この記事では、Javaの文字列の比較について解説します。

equals:文字列が等しいか調べる

 Stringクラスのequals()メソッドで文字列の比較をすることができ、文字列が一致していればtrue、一致していなければfalseを返します。

String str1 = "AIUEO";
String str2 = "AIUEO";
String str3 = "aiueo";
System.out.println(str1.equals(str2));
System.out.println(str1.equals(str3));

// 実行結果
true
false

equalsIgnoreCase:大文字・小文字を無視して文字列が等しいか調べる

 StringクラスのequalsIgnoreCase()メソッドでは大文字・小文字を無視して文字列の比較をすることができ、文字列が一致していればtrue、一致していなければfalseを返します。

String str1 = "AIUEO";
String str2 = "AIUEO";
String str3 = "aiueo";
String str4 = "あいうえお";
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println(str1.equalsIgnoreCase(str3));
System.out.println(str1.equalsIgnoreCase(str4));

// 実行結果
true
true
false

compareTo:文字列の大小を比較する

 StringクラスのcompareTo()メソッドでは文字列のUnicode値がどれだけ離れているかを辞書的に比較します。「== 0」を追加することで文字列が一致しているか否かについても判定できます

String str1 = "AIUEO";
String str2 = "AIUEO";
String str3 = "aiueo";
String str4 = "あいうえお";
System.out.println(str1.compareTo(str2));
System.out.println(str1.compareTo(str2) == 0);
System.out.println(str1.compareTo(str3));
System.out.println(str1.compareTo(str3) == 0);
System.out.println(str1.compareTo(str4));
System.out.println(str1.compareTo(str4) == 0);

// 実行結果
0
true
-32
false
-12289
false

compareToIgnoreCase:大文字・小文字を無視して文字列の大小を比較する

 StringクラスのcompareToIgnoreCase()メソッドでは大文字・小文字を比較して文字列の大小を比較します。「== 0」を追加することで文字列が一致しているか否かについても判定できます

String str1 = "AIUEO";
String str2 = "AIUEO";
String str3 = "aiueo";
String str4 = "あいうえお";
System.out.println(str1.compareToIgnoreCase(str2));
System.out.println(str1.compareToIgnoreCase(str2) == 0);
System.out.println(str1.compareToIgnoreCase(str3));
System.out.println(str1.compareToIgnoreCase(str3) == 0);
System.out.println(str1.compareToIgnoreCase(str4));
System.out.println(str1.compareToIgnoreCase(str4) == 0);

// 実行結果
0
true
0
true
-12257
false

管理人
Javaの記事の一覧はJava にまとめてあります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP