如果循环处理效率

rom*_*sub 0 java performance

从处理或优化的角度来看,哪2个更好?

我觉得选项1更具可读性,但我被告知选项2更有效率.是这样吗?

if (value != null) {
    if (value.equalsIgnoreCase(ApplicationConstants.A)) {
    } else if (value.equalsIgnoreCase(ApplicationConstants.B)) {
    }
}
Run Code Online (Sandbox Code Playgroud)

选项2:

if ((value != null) && (value.equalsIgnoreCase(ApplicationConstants.A))) {

} else if ((value != null) && (value.equalsIgnoreCase(ApplicationConstants.B))) {

}
Run Code Online (Sandbox Code Playgroud)

Tom*_*Tom 8

这里没有什么可以关心性能,编写你的代码所以它是可读的,你可以做到.

当性能测试稍后突出显示需要优化的区域时,只会优化需要它的位置.

为了使其更具可读性,您可以反转测试以摆脱空检查:

if (ApplicationConstants.A.equalsIgnoreCase(value)) {
} else if (ApplicationConstants.B.equalsIgnoreCase(value)) {
}
Run Code Online (Sandbox Code Playgroud)