java - 在 if 中放置一个返回 boolean 值的方法在功能上等同于直接调用该方法吗?

标签 java methods if-statement

我正在更新一些代码,并且我有一个 void 方法 (validateFile),可以测试文件并将失败直接写入一些日志文件。我想为每个通过的文件添加一个计数器,但我不想丢失在失败时完成的日志记录。

严格来说,validateFile 方法成功运行是这样的:

validateFile(filename);

功能上相当于这个吗? (假设我将返回类型更改为 boolean 值并正确放置返回语句)

if(validateFile(filename)){
   passCount++;
}

如果是等价的,是否有理由(最佳实践等)我不应该这样做?

最佳答案

是的,是等价的。不,我认为您没有理由不应该这样做。

仅想到一个可能的警告,将其与条件运算符混合时要小心:

if (a() && b());

在这种情况下,当且仅当 a() 返回 true 时,才会调用 b()

关于java - 在 if 中放置一个返回 boolean 值的方法在功能上等同于直接调用该方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9470046/

相关文章:

java - 这里导航 API NavigationManager getEta() 总是返回无效/未知

java - 将 Windows 键重新分配给键盘快捷键

c# - 如何允许方法接受字符串或整数?

c++ - 类和类成员将使用的公共(public)函数放在哪里?

java - else 语句不打印行?

BASH:在 for 循环中使用 continue

java - 知道为什么我在从 HashMap 中删除键时没有收到 java.util.ConcurrentModificationException 吗?

java - OpenGL 中奇怪的裁剪问题

r - 在 R 中,如何指定泛型方法采用 ...(点)参数?

javascript - IF OR 语句 var = true,则写入文档