简单的函数超过return语句

时间:2016-08-13 19:58:54

标签: java android

我正在测试这个函数,但它只是不想返回true。这是:

public boolean linesExist(){
    return lines != null ? !lines.isEmpty() : false;
}

只是检查一个arraylist是否包含元素,非常简单。

但是,即使所有值都正确,此函数也会返回false。我已经将它重构为以下内容以便于调试,但结果更加奇怪:

public boolean linesExist(){
    if (this.lines != null) {
        boolean linesExist = !this.lines.isEmpty();
        return linesExist;
    } else {
        return false;
    }
}

enter image description here http://i.imgur.com/Mr84LGG.gif

这是一个逐行通过函数的gif,底部有相关的值(它们在运行时也显示在代码旁边)。正如你所看到的那样,它会进入第一个if,然后点击“return true”,然后进入else进入“return false”

我很难过,如果有人建议做什么那就太好了。

编辑:忘了发布gif,抱歉。 http://i.imgur.com/Mr84LGG.gif

[FINAL EDIT]:问题在于ide,清理构建,重新启动ide,一切都应该工作

1 个答案:

答案 0 :(得分:3)

有时反转逻辑会使内容更容易阅读/理解。

boolean linesExist() {
   if (lines == null) return false;
   if (lines.isEmpty()) return false;
   return true;
}

也许这有帮助。