在相对复杂的业务逻辑中,我们常常使用到多重循环,在最里层循环判断某个条件,一旦条件不符合就直接break,可以break并不能直接跳出所有 的循环,这肯定会对性能有影响,还有可能影响业务判断。
最好的方式就是直接跳出所有循循,return到最外层。这个类似被广大人民诟病的goto语法。 大家众所周知,java是不支持goto语法的,虽然保留了goto为关键字。解决这类问题,其实有个很简单的做法
public void showExample() {
breakFor: for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
if (j % 15 == i) {
break breakFor;
}
}
}
}
public void showExample() {
breakFor: for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
if (j % 15 == i) {
break breakFor;
}
}
}
}
使用任意字符串,如例子中的breakFor,直接break到最外层循环。
这个语法简单实用,是个小窍门…