java if Action 并返回

标签 java if-statement return action

我想编写干净、快速的代码来评估某些条件,如果条件为真则执行操作并返回该条件值。

到目前为止我有以下选择:

选项 1:

public boolean method() {
    if (...condition...) {
        action();
        return true;
    } else {
        return false;
    }
}

选项 2:

public boolean method() {
    boolean actionNecessary = ...condition...;
    if (actionNecessary) {
        action();
    }
    return actionNecessary;
}

选项 3:

 public boolean method() {
        return ifDoReturn(...condition..., () -> {
            action();
        });
    }

使用辅助方法:

public static boolean ifDoReturn(boolean condition, Runnable action) {
    if (condition) {
        action.run();
    }
    return condition;
}

第一个选项最长,第二个更短但速度也快,第三个选项最短但很棘手,没有编译器优化也很慢。

感谢您的帮助

最佳答案

“过早的优化是万恶之源。” - Donald Knuth

我相信你想得太多了。 JVM 足够智能,可以处理琐碎的“微优化”。在简单的 if...else 逻辑中,人们通常应该遵循其团队制定的软件开发标准。无论采用何种方法,您都很难找到显着的性能提升。如果经常调用代码,那么即时编译器(“JIT”)无论如何都会将其编译为目标代码。

综上所述,在我看来,选项 #2 是最清楚的。

无论如何,here是对 Java 优化技术的更深入的研究;最重要的是,涵盖何时以及为何进行优化

关于java if Action 并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42207361/

相关文章:

java - SQLCODE -181 日期时间值的字符串表示不是有效的日期时间值

variables - 检查 Windows 批处理变量是否以特定字符串开头

clojure - 在 Clojure 中如何从函数早期返回?

java - 我不明白java中的 'return of if statement'

java - 复杂数据结构: simplicity vs transparency

Java-Jpa-Hibernate 传递分离实体以在合并时保留

java - 在 Android 移动设备中解析 XML 的各种选项有哪些?

batch-file - 如何使变量为真并检查变量是否为真?

c - 需要避免用户输入超过 8 个字符时缓冲区溢出

c++ - 特殊学校代码处理函数和返回值问题