java - Intellij 警告 : Boolean method foo() is always inverted

标签 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 方法 changeNcheckIP() 总是反转

我该如何解决?

最佳答案

这是警告,不是错误(您没有义务修复它)。
IntelliJ 只是通知您,您总是使用您的方法 changeNcheckIP() return as inverted。 这意味着当你调用方法时(到目前为止在你的代码中)你可能正在做类似的事情:

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

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

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

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

关于java - Intellij 警告 : Boolean method foo() is always inverted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54988323/

相关文章:

java - Maven Java Fx 示例无法运行 - 不重复

java - Lombok在Intellij中的注解

java - IndexOutOfBoundsException 导致 Android 应用程序崩溃

java - 如何用JPA映射实体?

java - 在java中解析TLV数据的问题,如何获取值,长度

java - 对象的 LinkedList 和 HashMap 的 LinkedList 之间的区别?

intellij-idea - 在intellij idea中设置aspectj weaver的编译级别

java - IntelliJ IDEA 使用 Lombok 编译错误

java - 复杂 Json 到嵌套 POJO spring MVC

使用自定义收集器的 Java 8 分组?