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
总归,NullPointerException由RuntimeException派生出来,是一个运转时反常。其意指或许会在运转的时分才会被抛出,一个变量是null,及只要其名,没有实值内容,也没分配内存,当你要去取他的长度,对他进行操作就会呈现NullPointException,所以声明变量时最好给它分配好内存空间,给予赋值,例如拿该变量与一个值比较时,要么先做好该反常的处理要么给它进行判别先:if(str!=null&&str“”){…}
判别一个String的实例s是否等于“a”时,不要写成s.equals(“a”),这样容易抛NullPointerException,而写成”a”.equals(s)就可以防止这个问题,不过对变量先进行判空后再进行操作更好,尽量防止回来null,办法的回来值不要界说成为一般的类型,用数组。这样如果想要回来null的时分,就回来一个没有元素的数组。就能防止许多不必要的NullPointerException

java

java.lang.nullpointerexception原因分析及解决办法

一般报java.lang.NullPointerException的原因有以下几种:
1.类没有初始化,例如定义了个String,List,Map等目标没有初始化就直接使用,肯定会出空指针错误,正确初始化如下:
Stringstr=””;
Listlist=newArrayList();
Mapmap=newHashMap();
2.当一个目标的值为空时,你没有判别为空的情况。
你能够试着把下面的代码前加一行代码:
if(rb!=null&&rb!=””)
改成:
if(rb==null);
if(rb!==null&&!””.equals(rb))
当然还能够多做一个判别,是否不为空字符串
if(rb!==null&&!””.equals(rb.trim()))
判别字符串是否为空在java中比较好的写法是
if(rb!=null&&!””.equals(rb.trim()))
3.在使用框架,例如Spring的时分成员目标是经过注入进来的,需求注意一下两点:
1)成员变量必须有getset方法
2)必须在配置文件中把实例化好的目标注入进来

© 版权声明
好牛新坐标
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章