Intellij предупреждение: логический метод foo () всегда инвертируется - PullRequest
0 голосов
/ 04 марта 2019

У меня есть этот код:

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 голосов
/ 04 марта 2019

Это предупреждение, а не ошибка (вы не обязаны это исправлять).
IntelliJ просто уведомляет вас, что вы всегда используете свой метод changeNcheckIP () return в инвертированном виде.Это означает, что когда вы вызываете метод (пока что в вашем коде), вы, вероятно, делаете что-то вроде:

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

Обратите внимание на ! в если loop , это то, что IntelliJ пытается сказать вам «исправить».
Если вы используете:

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

Предупреждение исчезнет (обратите внимание на удаленное)! "), но вам необходимо INVERT ваше возвращаемое значение, чтобы логика IF работала правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...