Joh*_*wel 1 java optimization if-statement
我的代码中有以下几行:
if (command.equals("sort") && args.length == 2) {
//run some program
}
Run Code Online (Sandbox Code Playgroud)
有人建议我应该使用两个单独的if语句,因为if如果命令不等于"sort",则无需评估任何其他语句,无论args长度是否正确.
所以根据这一点,我需要将我的代码重写为:
if (command.equals("sort")) {
if (args.length == 2) {
//run some program
}
}
Run Code Online (Sandbox Code Playgroud)
我知道他们都做了这个工作,但我的问题是哪一个更好,效率更高?
Roo*_*ahi 14
不,那不是真的.他们称之为short circuit,如果第一个条件评估为假,则第二个条件根本不会被评估.
好吧,既然&&是short-circuit运营商.所以这两个if陈述实际上都是一样的.
因此,在第一种情况下,如果您的command.equals("sort"),返回false,则根本不会评估以下条件.因此,在我看来,只需要使用第一个.它更清楚.