问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何避免及解决万恶的java.lang.NullPointerException错误

发布网友 发布时间:2022-03-30 23:27

我来回答

1个回答

热心网友 时间:2022-03-31 00:56

作为一个java 程序员,特别是刚入门或初学者,遇到的最多的异常我想当属 java.lang.NullPointerException,当然这是一个不可避免的。不管你是多老的程序员,写的程序也不能保证不出现这个异常。但不可杜绝,并不代表不可避免,不可减少其出现的概率。下面就探讨下如何尽量避免其出现,首先看常见的出现该异常的原因。 常见原因至少有以下几类: 对java 对象不熟悉,特别体现在初学者及刚入门身上。如:类的成员还是对象的时候,初学者往往不知道如何初始化成员对象,结果导致对象为初始化就调用。 数据是从外部获取,如数据库,取出数据后不检查就直接调用,常发生在用hibernate 等orm 工具取完数据后数据展示部分。 java代码编写习惯。编写类方法不对方法参数进行检查就使用。 引入外部包,而没有引入外部包依赖包 粗心。这是最大的原因,特别是对于有一定编程经验的人来说
解决方法: 第一类属于java 基础不牢,建议多做练习,熟悉java 对象生命周期的相关知识。如java 对象内存分配,堆与栈,java 初始化过程等。 在外部读入数据的话,建议在读入数据后就检查其是否为null 。当然有时候也跟需求来定,但使用前必须做好检查工作。 跟编程经验有相当关系。公用的方法,一般使用前检查参数,该抛出异常的抛出异常,该用默认值的用默认值处理。一些私有方法,人们因为觉得只有自己使用,自己控制不传人null 值就可以,懒得去检查空异常。确实我自己也常这样干,但发现自己写的,但自己却总保证不了,不传入空。所以建议使用前检查,但可以不抛出异常,可使用断言,自己用默认值处理掉。 引入外部包出现NullPointerException,随着各种框架的发展而越来越常见。主要是人们盲目引用各种包,而不去详细评估引用包的效果,及不去了解所引入包的依赖包。现在有maven 工具,如果使用它构建工程的话,依赖报错可能就会少点了。 粗心。这个就没办法了,相信没几个人改得了。且因为粗心而出现的bug,自己往往很难找出原因,这时可以借下团队的力量,让同事帮你去找,可能很快就找到了 如何找NullPointerException 出错代码: NullPointerException 异常很找出出错位置还是比较容易的,java 的异常链机制可以让你很快找到错误代码所在。这里提醒一点千万不要使用 try { 代码; }catch(Exception){} 因为这样出错了控制台不报,log 不记,找死你。
如何避免及解决万恶的java.lang.NullPointerException错误

这个就没办法了,相信没几个人改得了。且因为粗心而出现的bug,自己往往很难找出原因,这时可以借下团队的力量,让同事帮你去找,可能很快就找到了 如何找NullPointerException 出错代码: NullPointerException 异常很找出出错位置还是比较容易的,java 的异常链机制可以让你很快找到错误代码所在。这里提醒一...

...exception java.lang.NullpointerException是怎么回事啊?该怎样解决...

10086答复是网络和版本都没问题,问题出在机子是不是行货,如果不是他们也不能保证长期正常使用飞信。哥们,我也郁闷了,移动帮不了咱啊!

...thread "main" java.lang.NullPointerException 求告诉原因下有具体...

你switch判断的时候调用的是 compare函数(public static String compare(String peek, String cur)),而你这个函数返回的却是null,那就相当于compare函数什么都没有做,就返回一个null,那么所有的case语句都不匹配的,而你又没写default语句,那么一旦进入switch判断,就要出错,空指针异常。

Exception in thread "main" java.lang.NoClassDefFoundError...

对于外部的jar包,你要加入到环境变量中,否则在命令行中肯定是找不到的,集成环境下,是自动帮你加入了java运行的环境变量中的,所以没有问题。有两个方式解决上述问题:1)上面的命令中运行的时候加入:-classpath <log4j的jar文件的路径> 变成>java -classpath <log4j的jar文件的路径> com.getdata....

java类方法?

首先,非常不建议用null来声明任何变量,你声明r[]数组为null,下面又在循环里使用r[i],r都不是一个东西(因为它是null,还真不是个东西 手动滑稽),r[i]必然导致万恶的空指针异常NullPointerException。然后前面第一点说了,你的v1和v2根本就没有值,其实他们也是null,所以v1.length也将产生空...

Tomcat 加载工程时报如下错误:at org.apache.catalina.startup.H...

首先,告诉你排错方法:1、去官网下载一个 tomcat 后,解压到一个目录一下,然后直接启动 tomcat 服务,看看是否能正确启动,IE 里浏览一下,看看是否能正常访问 tomcat 的首页。2、如果上一步没有出错(一般官网下载个tomcat解压后,直接启动,是不会有错的。),说明 tomcat 服务没有错,这时你关掉...

如何避免及解决万恶的java.lang.NullPointerException错误

这是最大的原因,特别是对于有一定编程经验的人来说 解决方法: 第一类属于java 基础不牢,建议多做练习,熟悉java 对象生命周期的相关知识。如java 对象内存分配,堆与栈,java 初始化过程等。 在外部读入数据的话,建议在读入数据后就检查其是否为null 。当然有时候也跟需求来定,但使用前必须做好...

java lang string java exception 如何避免内存泄漏java java如何避免空指针 java中如何避免循环调用方法 java如何避免线程阻塞 java的lang包 java applet java String
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何用易语言实现QQ登录器的QQ号空了就出现“QQ号为空,请输入QQ号... 介绍几首最新的网络歌手唱得网络红歌呗。。谢谢啊 求推荐几首好听的歌,要和徐良风格差不多的 ...男女合唱的】最好多推荐几首,试到一首好听的 有什么蛮好听的新歌吗?网络歌手、非主流的,像汪苏泷、徐良、阿悄他们的... 关于Guitar Rig 4的两个问题,求解答。。。 右脚跟疼是什么原因引起的 男人右脚后跟筋疼的原因 右脚跟痛 我右脚跟腱痛怎么治呀,两个多月前崴了一下,找人捏了几次,但现在跟腱一... 过膝长靴的时髦属性你将如何驾驭? 过膝靴子怎么套棉裤? 我深爱我的女朋友,但是她曾经和3个男人上过床,我不... 矮个子女生怎么穿过膝靴显腿长 我喜欢的女人已经和三个男人上过床了,能告诉我怎... 弹力过膝长靴怎么穿进去 求家族群名 我的女朋友和3个男人发生过性关系 过膝靴是绒面的显瘦还是真皮的显瘦一点 过膝靴怎么穿上去 老婆出去和朋友喝酒后,与别的男人做爱了,是三个... 家族群名称大全 一个女人和三个男人一起做爱 有什么坏处吗 和兄弟姐妹堂兄堂弟,堂姐堂妹侄子侄女,堂侄,堂... 和三个男人发生过关系的女生,算是随便吗? 家庭群聊名称大全 女友18岁跟三个男人上过床 我还该和她在一起吗 有寓意的家族群名字有什么? 一个女人一个月内和三个男人上床会对身体有影响吗? 女人和三个以上男人上过床,这意味着什么? 过膝靴要如何搭配 过膝靴搭配技巧与禁忌 【过膝长靴如何搭配】麻烦告诉我 腿粗的女生该如何选择适合的鞋子 白色过膝靴子怎么搭配图 过膝长靴怎么穿好看? 过膝靴怎样搭配 我想打顺风车怎么下单? 滴滴代驾包天怎么下单 小米手机被锁定了怎么办啊急急急 LINUX系统文件夹共享权限问题 捡的小米手机被锁定怎么解锁? 小米手机被锁机怎么办? 我的小米手机锁定了unlocked怎么办开不了机,怎么... linux各用户间如何实现文件共享? 小米手机被锁机了怎么办? linux如何设置用户权限 linux 怎样创建所有用户共享文件夹 小米手机屏幕被锁定怎么取消 小米手机被锁定怎么激活设备 linux下,如何设置两用户对某目录下文件的权限