Настоящая проблема находится в строке после выделенной - у вас есть:
if (... && status != null)
Просто удалите этот флажок, и я думаю, что SonarLint будет счастлив. В этом нет необходимости, потому что, если status
имеет значение null, то status.getCode()
уже вызовет исключение, прежде чем вы достигнете этого условия.
По сути, вам нужно знать, должен ли getStatus()
когда-либо return null - нужно ли вам явно обрабатывать эту ситуацию. Если вы это сделаете, вы должны проверить перед вашим звонком на status.getCode()
и отреагировать соответствующим образом. Если вы этого не сделаете, можно вызвать метод getCode()
- если ваше предположение неверно, вы получите NullPointerException
как обычно, что, вероятно, является наиболее подходящим результатом для сценария «мир не как я и ожидал ". Но вы не должны пытаться «обработать» его нулевым значением после того, как вы уже зависели от него.