【Java】大文字・小文字を区別せずに文字列を比較する!(equalsIgnoreCase)
大文字・小文字を区別せずに文字列を比較するには、StringクラスのequalsIgnoreCaseメソッドを使用します。
StringクラスのequalsIgnoreCaseメソッドは大文字、小文字を区別せずに文字列を比較するメソッドとなります。
例えば、”A”と”a”や”Z”と”z”は同じ文字として認識されます。
しかし、ひらがなやカタカナには使用できませんので注意してください。
今回はStringクラスのequalsIgnoreCaseメソッドを使用して、以下の場合で大文字・小文字を区別せずに文字列の比較を行います。
・ 大文字・小文字のアルファベットを区別せずに比較する場合
・ 大文字・小文字のひらがなやカタカナを区別せずに比較する場合
目次
equalsIgnoreCaseとは
equalsIgnoreCaseメソッドとは大文字、小文字を区別せずに文字列を比較することができます。
equalsIgnoreCaseの書き方
equalsIgnoreCaseの構文は下記となります。
1 |
文字列1.equalsignoreCase(文字列2); |
文字列1と文字列2を設定することでその文字列1と文字列2のアルファベットを大文字、小文字を区別されずに比較します。
比較した際に一致した場合はtrueを返し、一致しなかった場合はfalseを返します。
また、ひらがなやカタカナにも大文字小文字はありますが、違う意味を持つの文字となる為、比較対象とはなりません。
大文字・小文字を区別せずに文字列を比較したサンプルコード
大文字・小文字を区別せずに文字列を比較したサンプルコードを紹介します。
アルファベットの文字列を比較する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
// 大文字・小文字を区別せずに文字列を比較する import java.util.Locale; public class Main { public static void main(String[] args) throws Exception { String str1 = "ABCDE"; String str2 = "AbCDe"; System.out.println("「" + str1 + "」と「" + str2 + "」の比較"); //equalsメソッドによる比較 System.out.println( "equalsでの比較:" + (str1.equals(str2) ? "一致する": "一致しない")); // equalsIgnoreCaseメソッドによる比較 System.out.println( "equalsIgnoreCaseでの比較:" + (str1.equalsIgnoreCase(str2) ? "一致する": "一致しない")); String str3 = "ABc"; String str4 = "ABC"; System.out.println("「" + str3 + "」と「" + str4 + "」の比較"); //equalsメソッドによる比較 System.out.println( "equalsでの比較:" + (str3.equals(str4) ? "一致する": "一致しない")); // equalsIgnoreCaseメソッドによる比較 System.out.println( "equalsIgnoreCaseでの比較:" + (str3.equalsIgnoreCase(str4) ? "一致する": "一致しない")); } } |
出力結果
「ABCDE」と「AbCDe」の比較
equalsでの比較:一致しない
equalsIgnoreCaseでの比較:一致する
「ABc」と「ABC」の比較
equalsでの比較:一致しない
equalsIgnoreCaseでの比較:一致する
equalsIgnoreCaseメソッドによって大文字・小文字を区別せずにアルファベットの比較を行い、一致していることからtrueを返しています。
また、equalsメソッドでは一致していないことからfalseを返しています。
ひらがなやカタカナの文字列を比較する場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
// 大文字・小文字を区別せずに文字列を比較する import java.util.Locale; public class Main { public static void main(String[] args) throws Exception { String str1 = "あいう"; String str2 = "あぃう"; System.out.println("「" + str1 + "」と「" + str2 + "」の比較"); // equalsメソッドによる比較 System.out.println( "equalsでの比較:" + (str1.equals(str2) ? "一致する": "一致しない")); // equalsIgnoreCaseメソッドによる比較 System.out.println( "equalsIgnoreCaseでの比較:" + (str1.equalsIgnoreCase(str2) ? "一致する": "一致しない")); String str3 = "アイウ"; String str4 = "アィウ"; System.out.println("「" + str3 + "」と「" + str4 + "」の比較"); // equalsメソッドによる比較 System.out.println( "equalsでの比較:" + (str3.equals(str4) ? "一致する": "一致しない")); // equalsIgnoreCaseメソッドによる比較 System.out.println( "equalsIgnoreCaseでの比較:" + (str3.equalsIgnoreCase(str4) ? "一致する": "一致しない")); } } |
出力結果
「あいう」と「あぃう」の比較
equalsでの比較:一致しない
equalsIgnoreCaseでの比較:一致しない
「アイウ」と「アィウ」の比較
equalsでの比較:一致しない
equalsIgnoreCaseでの比較:一致しない
equalsIgnoreCaseメソッドによって大文字・小文字を区別せずにひらがなとカタカナの比較を行い、一致していないことからfalseを返しています。
また、equalsメソッドでは一致していないことからfalseを返しています。
今回のポイント
equalsIgnoreCaseメソッドは大文字・小文字を区別しない
大文字・小文字を区別せずに文字列を比較するにはStringクラスのequalsIgnoreCaseメソッドを使用する
• StringクラスのequalsIgnoreCaseメソッドで大文字・小文字を区別せずに文字列を比較し、一致する場合は「true」を返し、一致しない場合は「false」を返す。
• equalsIgnoreCaseメソッドは半角と全角のアルファベットに対して比較できるが、ひらがなやカタカナに対しては比較できない
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。