Tag: 布尔逻辑

有没有办法在Java中禁用短路评估?

说我有这样的代码: boolean ret = a() && b() && c() && d() && e(); 通常只有在所有其他调用a() – d()返回true时才调用e()。 是否有一些编译器或JVM选项可以禁用短路评估,因此无论其他function的结果如何,都会始终调用e()? 基本上我正在做大型系统的UAT并且需要测试e(),但是设置环境和场景以确保所有a(),b()等返回true是非常痛苦的… 编辑:好吧,我想使用位而不是逻辑可以提供某种解决方法,但理想情况下我正在寻找一个不需要在源代码中进行任何更改的解决方案。 两者都是由于正式和技术原因(正如我提到的系统很大,我们有整个过程,在暂存区域之间推广和部署代码并获得签字)。 这仅用于测试,生产版本需要启用延迟评估(即使用&&) 验尸报告: “正确”答案是:不,没有。 “有用”答案:您可以将&&更改为& “我到底做了什么”回答:远程调试系统,在表达式上放置断点并告诉eclipse运行e()-_-