获取:删除 SonarQube 中的这个冗余跳转

Getting : Remove this Redundant Jump in SonarQube

我有一个方法,其中有一个 if else 条件。 if-else 看起来类似于下图。

public void agreementCoduct(String agreement) {
       if(agreement.equals("Pass")) {
         { //do someting
           return; // getting Remove this Redundant Jump
         } else if(aggrement.equals("NotPass")) {
           // do something
           return; // getting Remove this Redundant Jump
        } else {
          // do something 
          return; // getting Remove this Redundant Jump
        }

}

我是 运行 Sonarqube 来检查代码质量。它显示消息 "Remove this redundant jump." 。我想知道如何去除这种代码味道并仍然实现我想要的。因为这是 void 方法所以 return;应该可以正常工作吗?

这是多余的,因为在最后一个 else 之后你什么也没做。

return 语句无效,因为在 if-elseif-else 块之后没有任何代码。如果删除 return 语句,您的代码将在方法末尾保留匹配的 if 块和 return。

只有第一个计算结果为真的 if-elseif-else 块被执行。

void 方法最后有一个隐含的 "return" 语句。

这些 return 语句是多余的,因为您正在使用 if-else if-else 结构。这意味着这些块中的任何一个中的代码只会执行而其他块永远不会执行,这就是您想要的。