A Day In The Life

とあるプログラマの備忘録

文字列の比較

Javaで文字列を比較するとき

String moji = "aaa";
if(moji == "aaa") {
 何らかの処理...
}

と書いてしまいます。

もろVBからの癖です。Javaでは"=="を使うとオブジェクトの同一性を比較するため思ったように比較できないんです。
文字列の比較をするときはStringクラスのequalsメソッドを使います。

String moji = "aaa";
if(moji.equals("aaa")) {
 何らかの処理...
}

またこんな書き方も出来ます。

String moji = "aaa";
if("aaa".equals(moji)) {
 何らかの処理...
}

この書き方だと変数のnullチェックをしなくていいので便利です。

こんな基本的な事に悩みながら今日も開発です。