if语句java if action和return
我想编写干净、快速的代码来评估某些条件,如果条件为true,则执行操作并返回该条件值
到目前为止,我有以下选择:
选项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;
}
第一个选项最长,第二个选项较短,速度也较快,第三个选项最短,但很复杂,没有编译器优化,速度也较慢
谢谢你的帮助
# 1 楼答案
“过早优化是万恶之源。”<唐纳德·克努斯
我相信你想得太多了。JVM足够聪明,可以处理微不足道的“微观优化”。在简单的逻辑中,人们通常应该遵循团队制定的软件开发标准。无论你采用何种方法,你都很难找到显著的性能提升。如果代码经常被调用,那么即时编译器(“JIT”)无论如何都会将其编译为目标代码
所有这些都表明,在我看来,选项2是最明确的
值得一提的是,here是对Java优化技术的深入研究;最重要的是,涵盖优化的时间和原因