Java Sonar NullPointerException - PullRequest
0 голосов
/ 09 октября 2018

У меня ошибка

Может быть выдано «NullPointerException»;«btn» здесь можно обнулять.

в коде:

Button btn = getButton();
Assert.assertNotNull ("No button", btn);
btn.click();

Как я могу решить эту проблему, кроме случая:

Button btn = getButton();
if (btn != null) {
  btn.click();
}

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Я думаю Assert следует использовать только в тестовых классах.Вы можете заменить его на java.util.Objects # requireNonNull (требуется Java 7):

Button btn = getButton();
Objects.requireNonNull(bnt).click();

или

Button btn = Objects.requireNonNull(getButton());
bnt.click();
0 голосов
/ 09 октября 2018

Если вы используете java-8, то вы можете использовать Optional

Optional<Button> btn = getButton();//need to let return to Optional<Button>
btn.ifPresent(b -> b.click());
...