首页 > 解决方案 > Intellij 警告:布尔方法 foo() 总是被反转

问题描述

我有这个代码:

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

我该如何解决?

标签: javaintellij-idea

解决方案


这是一个警告,而不是错误(您没有义务修复它)。
IntelliJ 只是通知您,您始终使用您的方法changeNcheckIP()以反转方式返回。这意味着当您调用该方法时(到目前为止在您的代码中),您可能正在执行以下操作:

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

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

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

警告将消失(注意已删除的“ ”),但您需要反转您的返回值,以便您的IF逻辑正常工作。


推荐阅读