java.lang.NullPointerException出现的几种原因以及解决

java.lang.NullPointerException出現的几类缘故:

1、字符串数组自变量未复位
2、接口方式的目标没有用实际的类复位,例如:
Mapmap//会出错
Mapmap=newMap();//则不容易出错了
3、当一个目标的数值空时,你没有分辨为空的状况。
4、字符串数组与文本的较为,文本能够是一个字符串数组或Enum的原素,以下会发现异常
Stringstr=null;
if(str.equals(“Test”)){
//这儿的编码将不容易被开启,由于会抛出去java.lang.NullPointerException出现异常。
}
5、优先选择应用String.valueOf()方式替代toString()
当编程代码必须目标的字符串数组表明方式时,请防止应用该目标的toString方式。假如你的目标的引入相当于null,NullPointerException则会抛出去,应用静态数据String.valueOf方式,该方式不容易抛出去一切出现异常并打印"null"
6、class被申明了种类,默认设置class=null;那样在启用class中方式的情况下系统软件只有给你空指针异常,给其实例化就好了:class=newClass();
7、回到null,方式的返回值不必界定变成一般的种类,只是用数组。那样假如要想回到null的情况下就能防止很多多余的NullPointerException

20190703211358177.png


总而言之,NullPointerException由RuntimeException继承出去,是一个运作时出现异常。其义指很有可能会在运作的情况下才会被抛出去,一个自变量是null,及仅有其名,沒有实值內容,也没分配内存,如果你要取走他的长短,对他开展实际操作便会出現NullPointException,因此 申明自变量时最好是给它分派好存储空间,给与取值,比如拿该自变量与一个值较为时,要不先搞好该出现异常的解决要不给它开展分辨先:if(str!=null&&str“”){…}

分辨一个String的案例s是不是相当于“a”时,不必写出s.equals(“a”),那样非常容易抛NullPointerException,而写出"a".equals(s)就可以防止这个问题,但是对自变量先开展判空后再开展实际操作更强,尽量减少回到null,方式的返回值不必界定变成一般的种类,用数组。那样假如要想回到null的情况下,就回到一个沒有原素的数组。就能防止很多多余的NullPointerException

下面的图为出现异常布局图:

20190703202950599.png

转载请说明出处内容投诉
八爷源码网 » java.lang.NullPointerException出现的几种原因以及解决