Выполняя анализ ошибок с использованием klocwork, я получаю предупреждение Null pointer dereference of 'nextLineDn' where null is returned from a method
.Предупреждение о блокировке Klockwork: Null pointer разыменовывает, где null возвращается из метода
Очевидно, что другой инструмент статического анализа findbug
также дает такое же предупреждение.
Но, очевидно, я проверяю значение null/empty перед его использованием.
int noOfLines = device.getLines().size();
if(lineNo != 0 && noOfLines > lineNo) // if next line exists
{
nextLineDn = device.getDn(lineNo+1);
if(!Util.isNullOrEmpty(nextLineDn))
{
return (nextLineDn.contains("@")) ? nextLineDn.split("@")[0] : nextLineDn;
}
}
class Util
:
public static boolean isNullOrEmpty(String str) {
return (str == null || str.isEmpty());
}
может кто-то дать мне некоторое представление об этом? Я получаю так много предупреждений с одинаковыми условиями. Не знаю, что еще можно сделать, чтобы удалить предупреждение.
Опубликовать трассировку стека –
Это инструмент статического анализа. 'getDn' возвращает null в случае, если ничего не найдено. – user3427748
статический анализ ?? –