Мой код повреждается на следующей строке с nullpointerexception:
if (stringVariable.equals(null)){
До этого оператора я объявляю stringVariable и устанавливаю его на поле базы данных.
В этом операторе я пытаюсь обнаружить, если поле имело a null
значение, но к сожалению это повреждается!
Какие-либо мысли?
Используйте
stringVariable == null
, чтобы проверить, является ли stringVariable
нулевым
.
Метод равно
(и любой другой метод) требует, чтобы stringVariable
не было нулевым
.
если строковая переменная
уже равна нулю, она больше не существует как объект String
, поэтому он выиграл у меня даже нет метода .equals
! Таким образом, если строковая переменная
имеет значение null, то на самом деле вы делаете null.equals (null)
, и в этот момент вы получите исключение NullPointerException
, потому что null
не имеет метода .equals ()
.
Никогда не стоит вызывать метод, будь то equals () или иначе, на переменная, которая может иметь значение NULL. Вот почему обычно делают что-то вроде:
if ( var != null && var.method(something) ) {
// var.method() was true
} else {
// var is null or var.method is false
}
В вашем особом случае будет достаточно сделать
if (stringVariable == null) {
}
при работе со строками, он может заплатить, чтобы проверить Apache Commons StringUtils .
Всегда полезно ознакомиться с общедоступными библиотеками apache, поскольку в них есть множество оптимизированных утилит (для строк, коллекций, дат и т. Д.), Которые, как правило, лучше, чем домашние.