有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何优化关于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();
        }
    }
}

共 (2) 个答案

  1. # 1 楼答案

    老实说,我觉得这没问题。但是,如果您真的想将第三个if语句变平,您可以这样做:

    if (condition1) {
        if (!condition2 || !condition3) {
            c();
        }
        if (condition2 && !condition3) {
            condition3 = true;
        }
    } else {
        Log();
    }
    
  2. # 2 楼答案

    这个怎么样:

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

    正如我所想,变量condition3只考虑用于true

    因此,我对它使用了位运算