java 如果行动和 return

java if action and return

我想编写简洁快速的代码来评估某些条件,如果条件为真并 return 该条件值则执行操作。

目前我有以下选项:

选项 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;
}

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

感谢您的帮助

"Premature optimization is the root of all evil." - 唐纳德·高德纳

我相信你想多了。 JVM 足够聪明,可以处理琐碎的事情 "micro-optimizations"。在简单的 if...else 逻辑中,通常应该遵循其团队制定的软件开发标准。无论采用何种方法,您都会 hard-pressed 发现显着的性能提升。如果经常调用代码,Just-in-Time 编译器 ("JIT") 无论如何都会将其编译为目标代码。

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

就其价值而言,here 是对 Java 优化技术的更深入研究;最重要的是,涵盖了何时以及为何优化