- - PR -
nullについての質問です。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-22 15:54
お世話になっております。
nullの使い方で分からない点がありましたので質問させて頂きます。 実行しようとしている事は複数のチェックボックスがあり そのチェックボックスにチェックをしたところはLogicで"Delete"をながして Beanでもらって作業するというものです。 そこで"Delete"をもらいBeanで処理するところまではできたのですが チェックをつけなかったところの処理がどうしてもうまくいきません ソースは下記です。 //試し表示 System.out.println("フラグ:"+(String)map.get("DEL")); Delete=(String)map.get("DEL"); System.out.println("Delete:"+Delete); if(Delete.equals("delete")){ System.out.println("成功"); }else if(Delete.equals("")){ System.out.println("成功その2"); } 実行結果 *チェックボックスは現在2個あります。A、Bとさせて頂きます。 ・2つともチェックした場合 フラグ:delete Delete:delete 成功 フラグ:delete Delete:delete 成功 ・Bのみチェックした場合 フラグ:delete Delete:delete 成功 フラグ:null null エラー ・Aのみチェックした場合 フラグ:null Delete:null エラー となります。エラー文はでてきませんでした。 検索部分Delete.equals("")の("")を(null),("null"),else処理でも同じ結果でした。 どうしてもif文を通ると停止してしまうのです。 解決策がございましたらどうがご教授よろしくお願い致します。 | ||||
|
投稿日時: 2006-03-22 16:15
DeleteがnullになっているのでNullPointerExceptionが発生していると思います。
equalsメソッドを使用する前に、Deleteインスタンスがnullかどうかを確認してください。
| ||||
|
投稿日時: 2006-03-22 16:16
先にDeleteがNullかどうか判定すれば良いのでは?
if( Delete == Null ){ //Nullの場合の処理 }else{ //Null以外 } equalsメソッドがインスタンスメソッドなら、DeleteがNullの場合は 対象のインスタンスが存在しないため、NullPointerExceptionが発生す るのではないでしょうか? | ||||
|
投稿日時: 2006-03-22 16:23
悠さんありがとうございます。
記述のとおりしてみたところ成功しました。 | ||||
|
投稿日時: 2006-03-22 16:25
すみません、逆順で悠さんの名前しかみておりませんでした。
tanaboさんありがとうございます。 お2人とも本当にありがとうございました。 | ||||
|
投稿日時: 2006-03-22 16:37
equals メソッドの呼出元インスタンスが存在すればいいわけなので、
の様にすれば Delete が null でも大丈夫です。 |
1