我现在有这个if语句
if(answer4val != ""){
这里定义了answer4val
answer4val = c.getString(c.getColumnIndex("answer4"));
基本上,如果数据库中的answer4val为空,则不应运行if语句。但它是!?我已经习惯了PHP,所以也许我错过了一些明显的东西。
答案 0 :(得分:6)
对于您的特定情况,我会使用...
if(answer4val.length() > 0){
在一般情况下使用......
if (!answer4val.equals(<stuff here>)) {
请记住,在Java ==
中,当谈论字符串等对象时,它是一个参考比较。
[update]如果需要,请务必先检查null,但在大多数情况下你不应该这样做,因为大多数框架都提供“默认”值而不是null。
if(answer4val == null) { /* bail early */
答案 1 :(得分:1)
在Java中,null
与""
不同。您使用.equals
解决方案获得NullPointerException这一事实意味着您可能不应该与""
进行比较 - 您可以与null
进行比较:
if(answer4val != null) {
但是,您 还需要将其与""
进行比较,您可以将其与if(answer4val != null && !answer4val.equals ("")) {
进行比较。像这样:
{{1}}
取决于您想要实现的目标,这可能是也可能不是正确的方法。