Java 文字列を比較する方法 - クラス String
Javaで2つの文字列が同じかどうかを比較する方法です。
文字列の比較には equals
を利用して比較します。比較元の String
型が null
の場合、NullPointerException
が発生しますので、注意が必要です。
例外が発生しないように、StringUtils
などのユーティリティクラスを作って、比較用メソッドを用意することをおすすめします。
ここでは Javaで2つの文字列が同じかどうかを比較する方法 を紹介します。
Sponsored Links
文字列比較用メソッド
以下のメソッドでは、引数に指定された 2 つのオブジェクトを比較します。等しい場合は、true
を返します。
/** * 引数に指定された 2 つのオブジェクトを比較します。 2 つの引数が null でなく、 * 同じ文字シーケンスを表す <code class="code">String</code> オブジェクトである場合にだけ、 * 結果は true になります。 * * @param value 比較するオブジェクト * @param anotherValue 比較される、もうひとつオブジェクト * @return String が等しい場合は true 、そうでない場合は false */ public static boolean equals(String value, String anotherValue) { if ( value == null || anotherValue == null ) return false; if ( value.equals(anotherValue) ) return true; else return false; }
以下のテストを実行すると・・・
System.out.println(StringUtils.equals(null, null)); System.out.println(StringUtils.equals("saka-en", "saka-en")); System.out.println(StringUtils.equals(null, "saka-en")); System.out.println(StringUtils.equals("saka-en", null)); System.out.println(StringUtils.equals("saka-en", "SAKA-EN")); System.out.println(StringUtils.equals("saka-en", "saka"));
結果はこうなります。
false true false false false false
逆に、以下のメソッドでは、等しくない場合には true
を返します。
/** * 引数に指定された 2 つのオブジェクトを比較します。 2 つの引数が null でなく、 * 違う文字シーケンスを表す String オブジェクトである場合にだけ、結果は true になります。 * * @param value 比較するオブジェクト * @param anotherValue 比較される、もうひとつオブジェクト * @return String が等しくない場合は true 、等しい場合は false */ public static boolean notEquals(String value, String anotherValue) { if ( value == null || anotherValue == null ) return false; if ( value.equals(anotherValue) ) return false; else return true; }
以下のテストを実行すると・・・
System.out.println(StringUtils.notEquals(null, null)); System.out.println(StringUtils.notEquals("saka-en", "saka-en")); System.out.println(StringUtils.notEquals(null, "saka-en")); System.out.println(StringUtils.notEquals("saka-en", null)); System.out.println(StringUtils.notEquals("saka-en", "SAKA-EN")); System.out.println(StringUtils.notEquals("saka-en", "saka"));
結果はこうなります。
false false false false true true
Sponsored Links
まとめ
Javaで2つの文字列が同じかどうかを比較する方法しました。
文字列比較は、どのプログラム言語を利用する場合でも基本となりますので、しっかり覚えておきたいですね。
おつかれさまでした。
Sponsored Links