当每个语句返回内容时,使用多个if语句代替else if

时间:2019-10-03 18:14:39

标签: java performance if-statement readability

我写了一段看起来像这样的代码。

public boolean check(String i){
        if(i.isEmpty()){
            doSomething();
            return true;
        }
        else if(i.equals("something")){
            doSomethingElse();
            return true;
        }   
        return false;
    }

在代码审查期间,我得到注释以删除“ else if”块,因为第一个“ if”块具有return语句,这使得另一个块无法访问。

所以我很好奇,当每个块返回某些内容时,使用多个“ if”语句比“ else if”有什么好处吗? 通过在“ else if”上使用多个if语句,是否可以提高代码性能或可读性?在这种情况下,为什么首选多个“ if”而不是“ else if”? 我知道功能上它们是相同的。

3 个答案:

答案 0 :(得分:1)

我认为您需要与代码审阅者交谈。我很确定,如果“ if”语句返回false,则else if可以达到

答案 1 :(得分:0)

在您的代码中  否则if(i.equals(“ something”)){不是不可达的代码。当输入非空值时,它将执行else if块,并且输入值等于“ something”,则else if块中的语句将执行。

根据业务场景,我们需要使用if elseIf。如果我们仅使用if语句,则将评估每个if条件。评估需要一些时间。

如果我们知道我们需要在真实情况下执行某些操作,而在错误情况下执行某些操作,那么最好使用elseif ..

答案 2 :(得分:-1)

这与无法达到没有任何关系。如果not不为空,则将达到else。

我认为,一旦流回到第一个流中,其他流就没有意义了。换句话说,否则不添加任何东西,因此是噪音。有些人喜欢别的。我个人认为,没有其他代码,更容易理解。