从处理或优化的角度来看,哪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)
这里没有什么可以关心性能,编写你的代码所以它是可读的,你可以做到.
当性能测试稍后突出显示需要优化的区域时,只会优化需要它的位置.
为了使其更具可读性,您可以反转测试以摆脱空检查:
if (ApplicationConstants.A.equalsIgnoreCase(value)) {
} else if (ApplicationConstants.B.equalsIgnoreCase(value)) {
}
Run Code Online (Sandbox Code Playgroud)