Intellij警告:布尔方法foo()总是反转

时间:2019-03-04 17:16:40

标签: java intellij-idea

我有此代码:

private boolean changeNcheckIP() {

    //try 3 times before false
    for(int i = 0; i < 3; i++) {

        if(changeIP() && checkIP()) { return true; }

    }

    return false;

}

Intellij在changeNcheckIP()给我一个警告:

Boolean method changeNcheckIP() is always inverted

我该如何解决?

1 个答案:

答案 0 :(得分:5)

这是警告,不是错误(您没有义务修复)。
IntelliJ只是通知您您一直在使用方法 changeNcheckIP()返回为反向。 这意味着,当您调用方法时(到目前为止,在代码中),您可能正在执行类似的操作:

if(!changeNcheckIP()) {
    //do something...
}

注意 if 循环中的 ,这就是IntelliJ试图告诉您“修复”的内容。
如果您使用:

if(changeNcheckIP()) {
    //do something...
}

警告将消失(注意已删除的“ ”),但是您需要 INVERT 返回值,因此您的 IF 逻辑将正常工作。