OMG。我有一個小項目要做,而絃樂隊正在殺死我!字符串表示它不爲空,但後來拋出NullPointerException
現在,我有一個字符串,它是null
(取自調用getParameter()
從一個servlet的值)。
問題是,我試圖看看它是否爲空,即使它爲空,在程序中告訴我這不是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)
會好的,但沒有。
編輯: 問題是,我從窗體(形式1讓我們說,通常)獲取ID的值。但在這種情況下,我使用的表單2沒有任何ID輸入,因此ID必須是null
而不是"null"
是的,你是儀式,id變量包含「null」。附: 1.感謝所有人告訴不要使用「==」,並且該變量包含「null」。 –