Java中,set和get方法是常用的對象屬性訪問方式。然而有時候在編寫代碼時,可能會出現set或get方法報空指針異常的情況。
造成這種情況的原因很多,但是比較常見的是在使用對象的時候沒有進行實例化,或者在將對象的屬性值賦值給其他變量時未經過判空處理。
public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } public class TestNullPointer { public static void main(String[] args) { Person p = null; String name = p.getName(); // 拋出空指針異常 } }
在上面的代碼中,我們聲明了一個Person對象p,但是我們沒有進行實例化,即沒有使用new關鍵字來生成一個新的Person對象。
因此,在使用p.getName()時就會拋出空指針異常,因為p對象為null,而我們嘗試從null對象中調用其屬性值。
解決這個問題的方法就是在調用p的方法之前,先進行判空處理。
public class TestNullPointer { public static void main(String[] args) { Person p = null; if (p != null) { String name = p.getName(); } } }
在上述代碼中,我們先判斷了p對象是否為null,只有p不為null時才會調用其getName()方法來獲取其屬性值。
在實際編程中,我們應該養成良好的編程習慣,盡量避免出現空指針異常的情況,提高代碼的健壯性和可讀性。
上一篇java se 11和8
下一篇jquery+模板字符串