Javaで2つの文字列を比較する構文

Programming プログラミング

Javaで2つの文字列を比較する場合、「==」(イコール2つ)は、同一のオブジェクトかどうかを判定するため、使用してはいけない。

「String」オブジェクトの「equals」メソッドを使用する。

スポンサーリンク

実際の使い方は以下のよう。

String str = "ABC"

if ("ABC".equals(str)) {
    System.out.println("一致");
} else {
    System.out.println("不一致");
}

なお、「equals」メソッドの左辺がNULLの場合、例外「java.lang.NullPointerException」が発生する。

一方、「equals」メソッドの右辺がNULLの場合、falseとなる。

そのため、左辺に定数などのNULLにならない値を持ってくるのがベター。

// OK…変数「str」がNULLの場合、falseとなる
("ABC".equals(str))

// NG…変数「str」がNULLの場合、例外発生
(str.equals("ABC"))

参考サイト

とほほのJava入門

Java-文字列の比較equalsの使い方 | サラリーマンのすらすらIT日記

概要 (Java Platform SE 6)

コメント

タイトルとURLをコピーしました