溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

為什么會出現(xiàn)java.lang.NullPointerException

發(fā)布時間:2020-06-09 13:49:12 來源:億速云 閱讀:918 作者:鴿子 欄目:編程語言

“java.lang.NullPointerException”主要是運行時才會發(fā)生,該異常屬于RuntimeException的子類,所以是免檢異常,當應用程序試圖在需要對象的地方使用null時,會拋出該異常。

“java.lang.NullPointerException”出現(xiàn)的幾種原因

1、字符串變量未初始化

2、接口類型的對象沒有用具體的類初始化,比如:

Map map // 會報錯
Map map = new Map(); //則不會報錯了

3、當一個對象的值為空時,你沒有判斷為空的情況。

4、字符串與文字的比較,文字可以是一個字符串或Enum的元素,如下會出現(xiàn)異常

String str = null;
if(str.equals(“Test”)){
//這里的代碼將不會被觸發(fā),因為會拋出java.lang.NullPointerException異常。
}

5、優(yōu)先使用String.valueOf()方法代替toString()

當程序代碼需要對象的字符串表示形式時,請避免使用該對象的toString方法。如果你的對象的引用等于null,NullPointerException則會拋出,使用靜態(tài)String.valueOf方法,該方法不會拋出任何異常并打印"null"

6、class被聲明了類型, 默認 class = null; 這樣在調用class中方法的時候系統(tǒng)只能給你個空指針異常, 給其實例化就好了:class = new Class();

7、返回null,方法的返回值不要定義成為一般的類型,而是用數(shù)組。這樣如果想要返回null的時候就能避免許多不必要的NullPointerException

以上就是java.lang.NullPointerException 是什么意思?的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI