• ベストアンサー

if文が通りません。。。

ちょっと急ぎです。 DBからデータを取ってきて表示させるだけなんですが、なぜか上手くいかないので教えてください。 問題は、DBからデータ(String)を持ってきて値がnullのとき if(a == null) { a = "0"; } って処理をさせているんですが、このif文通ってないんです。 直前にDBからデータをひっぱってくる処理をしているんですが…考えられる原因があれば教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

手元にJava環境がなく、うろ覚えで恐縮ですが Stringの比較を行うのは if ( a.equals("abc") ){ とやる必要があります。 ※ equalsメソッドは 文字列が一致すればTrue、一致しなければFalseを返却 ただ、StringにNullが入っている場合、equalsメソッドを使うと NullPointerExceptionが発生するはずです。 なので if(!a)でできないでしょうか? また、DBから取ってきて…とありますので、Nullではなく、""がはいってるのでは? それならば、if ( a.equals("") ) だと思います。 すいません、自信はないです…。

nana_ko
質問者

お礼

ありがとうございます。 質問直後に謎が解けてました^^;;; Stringは==での判定ってできなかったんですよね…うっかりしてました。

その他の回答 (1)

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.2

DB関係はよくわからないのですが、見当で… (1) if(a == null); { a = "0"; } となってないでしょうか。 私は以前、これではまった経験があって…。それ以後「{」の位置を変えました。 たぶん違うでしょうけど。 (2) if(a.equals("")) { a = "0"; } としてみたらどうなりますか? a = null;のときとa = "";のときでは結果が違うはずです。

nana_ko
質問者

お礼

ありがとうございます。 質問直後に謎が解けてました^^;;; Stringは==での判定ってできなかったんですよね…うっかりしてました。

関連するQ&A

専門家に質問してみよう