Java If Statement

时间:2011-05-08 12:33:09

标签: java

我现在有这个if语句

        if(answer4val != ""){

这里定义了answer4val

        answer4val  = c.getString(c.getColumnIndex("answer4"));

基本上,如果数据库中的answer4val为空,则不应运行if语句。但它是!?我已经习惯了PHP,所以也许我错过了一些明显的东西。

2 个答案:

答案 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}}

取决于您想要实现的目标,这可能是也可能不是正确的方法。