java.lang.nullpointerexception因为:

1、字符串变量未初始化

2、接口典型的东西没有效简直的类初始化,比方:

Map map // 会报错

Map map = new Map(); //则不会报错了

3、当一个东西的值为空时,你没有确定为空的情景。

4、字符串与笔墨的比拟,笔墨不妨是一个字符串或Enum的元素,如次会展示特殊

String str = null;

if(str.equals(“Test”)){

//这边的代码将不会被触发,由于会抛出java.lang.NullPointerException特殊。

}

5、优先运用String.valueOf()本领包办toString()

当步调代码须要东西的字符串表白情势时,请制止运用该东西的toString本领。即使你的东西的援用即是null,NullPointerException则会抛出,运用静态String.valueOf本领,该本领不会抛出任何特殊并打字与印刷”null”

6、class被声领会典型, 默许 class = null; 如许在挪用class中本领的功夫体例只能给你个空南针特殊, 给本来例化就好了:class = new Class();

7、归来null,本领的归来值不要设置变成普遍的典型,而是用数组。如许即使想要归来null的功夫就能制止很多不需要的NullPointerException

处置方法:

NullPointerException由RuntimeException派生出来,是一个运转时特殊。其意指大概会在运转的功夫才会被抛出,一个变量是null,及惟有其名,没有实值实质,也没调配外存,当你要去取他的长度,对他举行操纵就会展示NullPointException,以是证明变量时最佳给它调配好外存空间,赋予赋值,比方拿该变量与一个值比拟时,要么先做好该特殊的处置要么给它举行确定先: if (str !=null && str “”){ …}

确定一个String的范例s能否即是“a”时,不要写成s.equals(“a”),如许简单抛NullPointerException,而写成”a”.equals(s)就不妨制止这个题目,然而对变量进步行判空后再举行操纵更好,尽管制止归来null,本领的归来值不要设置变成普遍的典型,用数组。如许即使想要归来null的功夫,就归来一个没有元素的数组。就能制止很多不需要的NullPointerException