Contents
【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 にまとめてあります