首页 > 解决方案 > 如何优化有关 if 条件的逻辑?

问题描述

这是一些逻辑。我可以优化这个吗?

for (List<String> sublist: list){
    for (String string: sublist){
        if(condition1){
            if(condition2){
                if(!condition3){
                    c();
                    condition3 = true;
                }
            } else {
                c();
            }
        } else {
            Log();
        }
    }
}

非常感谢。它有 3 个条件,但我使用函数 c() 两次。最后,我找到了最好的:

for (List<String> sublist: list){
    for (String string: sublist){
        if(condition1){
            if(condition2){
                if(condition3) continue;
                condition3 = true;
            }
            c();
        } else {
            Log();
        }
    }
}

标签: javaalgorithm

解决方案


老实说,这在我看来没问题。但是,如果你真的想把第三个if语句弄平,你可以这样做:

if (condition1) {
    if (!condition2 || !condition3) {
        c();
    }
    if (condition2 && !condition3) {
        condition3 = true;
    }
} else {
    Log();
}

推荐阅读