OMG. У меня есть небольшой проект, и Струны убивают меня!
Теперь у меня есть строка, которая null
(берется значение из вызова getParameter()
из сервлета).
Проблема в том, что я пытаюсь увидеть, является ли оно нулевым, и, даже если оно нулевое, в программе сообщается мне, что это не null
, но позже в программе, когда я использую переменную , Я получаю исключение, сказав, что переменная null
.
System.out.println("In " + ID); // in console: In null
if ((ID == null) || (ID == "null") || ID.equals(null) || **ID.equals("null")**)
{
// after I put the 4th condition, the if is working right (WHAT IS THE PROBLEM?)
System.out.println("==null");
this.ID = "";
}
else
{
System.out.println("!=null");
this.ID = ID;
}
System.out.println("After " + ID);
Что я делаю не так?
Работает только четвертое условие! А как насчет остальных (кроме второго, потому что я поставил это условие, потому что был в отчаянии)
Я учил ID == null
или ID.equals(null)
все будет хорошо, но нет.
Edit:
Проблема в том, что я получаю значение идентификатора из формы (скажем, форма 1 - обычно). Но в этом случае я использую форму 2, которая не имеет никаких ID-входов, поэтому ID должен быть null
, а не "null"