我正在测试这个函数,但它只是不想返回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;
}
}
http://i.imgur.com/Mr84LGG.gif
这是一个逐行通过函数的gif,底部有相关的值(它们在运行时也显示在代码旁边)。正如你所看到的那样,它会进入第一个if,然后点击“return true”,然后进入else进入“return false”
我很难过,如果有人建议做什么那就太好了。
编辑:忘了发布gif,抱歉。 http://i.imgur.com/Mr84LGG.gif[FINAL EDIT]:问题在于ide,清理构建,重新启动ide,一切都应该工作
答案 0 :(得分:3)
有时反转逻辑会使内容更容易阅读/理解。
boolean linesExist() {
if (lines == null) return false;
if (lines.isEmpty()) return false;
return true;
}
也许这有帮助。