• ベストアンサー

equals() を使って、変数に入っている文字列を比較

いつも大変お世話になっております。 下記のように、変数に入った値によって条件分岐をしたいのですが、 うまくいきません・・。 どのように書くべきでしょうか。  変数aaaに入っている値がnaninaniだったら”~~~”と処理したいのですが。 if(aaa.equals("naninani")){ ~~~省略~~~ } 何卒、初心者なので途方もない質問かもしれませんが、よろしくお願いします。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

だいたい合っていますが、文字列(String)にはnullがあるので、 以下のようにする方が良いでしょう。 (1)if (( aaa != null ) && ( aaa.equals("naninani") )) { (2)if ( "naninani".equals(aaa) ) { 各ステートメントの意味 (1)nullでなければequalsメソッドで比較する。 (2)nullでない文字列"naninani"にequalsメソッドを使う。 "naninani".equals(aaa) は aaa が null だと false になります。

somehow123
質問者

お礼

回答ありがとうございます。 nda23さんのアドバイス通りやってみたのですが、 どうしてもif文の{ }ないはスルーされてしまいます。 なんででしょう・・・・ お手上げです・・・。

somehow123
質問者

補足

すいません、 理由が結局わからなかったのですが、解決しました。 ありがとうございました。

その他の回答 (1)

回答No.1

あっているようにみえますよ。 意図したように動いていないのでしたら変数aaaの値に問題があるかもしれません。 変数aaaの値をSystem.out.println("aaa=" + aaa)とかで 表示してみてはどうでしょうか?

関連するQ&A