OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:619
区分:プログラム  |  分類:Java  |  最終更新日:2014/11/06
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【Java】文字列を比較する
関連タグ:Java, String, equals, equalsIgnoreCase
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 9,813
Java関連技術まとめ > 【Java】文字列を比較する

Java で文字列を比較し、同じかどうかを判定するには、String.equals メソッドを使用します。equals メソッドは大文字小文字を区別して文字列の比較を行います。大文字小文字を区別なく比較したい場合は、equalsIgnoreCase メソッドを使用します。

他の言語などで「==」を使用した文字列比較などがありますが、Java では「==」は、文字列ではなく参照先の比較となってしまうので、文字列の比較として「==」を使用することはできません。

 

メソッド戻り型説明

equals(String)

bool

文字列を大文字小文字の区別をして比較します。

equalsIgnoreCase(String)

bool

文字列を大文字小文字の区別なく比較します。

equalsメソッドで比較

equals メソッドは比較元の String オブジェクトと引数で指定した文字列を、大文字小文字の区別をして比較し、結果を bool 型で返します。比較先(引数となる文字列)が null でも問題ありませんが、比較元(String オブジェクト)が null の場合は NullPointerException が発生します。

 

【サンプルコード】

class Sample1 {
    public static void main(String[] args) {

        try {
            //比較データの設定
            String str1 = "ABCDE";
            String str2 = "abcde";

            //文字列比較
            if (str1.equals(str2)) {
                System.out.println("str1とstr2は同じです。");
			} else {
                System.out.println("str1とstr2は違います。");
            }
        } catch(NullPointerException e) {
            System.out.println("NullPointerExceptionが発生しました。");
        } catch(Throwable e) {
            System.out.println("予期しない例外が発生しました。");
        }
    }
}

※ 上記例は、str1とstr2が大文字小文字で違うので、結果は「str1とstr2は違います。」となります。

 

equalsIgnoreCaseメソッドで比較

equalsIgnoreCase メソッドは比較元の String オブジェクトと引数で指定した文字列を、大文字小文字の区別なく比較し、結果を bool 型で返します。equals メソッドと同様、比較元(String オブジェクト)が null の場合に NullPointerException が発生します。

 

【サンプルコード】

class Sample2 {
    public static void main(String[] args) {

        try {
            //比較データの設定
            String str1 = "ABCDE";
            String str2 = "abcde";

            //文字列比較
            if (str1.equalsIgnoreCase(str2)) {
                System.out.println("str1とstr2は同じです。");
			} else {
                System.out.println("str1とstr2は違います。");
            }
        } catch(NullPointerException e) {
            System.out.println("NullPointerExceptionが発生しました。");
        } catch(Throwable e) {
            System.out.println("予期しない例外が発生しました。");
        }
    }
}

※ 上記例は、str1 と str2 が大文字小文字で違いますが、equalsIgnoreCase メソッドは大文字小文字を区別しませんので結果は「str1とstr2は同じです。」となります。

 

関連記事
関連記事はありません。
外部リンク
外部リンクはありません。
- 記事検索 -