- 📚 相关推荐文章
- 访问远程数据库时,产生Access denied for user ‘root‘@‘xxx.xxx.xxx.xxx‘ (using password: YES)异常的解决办法 推荐
- 已解决java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)异常的正确解决方法,亲 推荐
- 全铜勃起异常水龙头品牌 推荐
- JQuery $.ajax 如何捕获异常信?ajax 异常处理 try、catch、error、complete 推荐
- spring security异常记录:org.springframework.security.access.AccessDeniedException: Access is denied 推荐

异常的意思
-
2023年2月16日发(作者:)常见的空指针异常有哪些?
定义:NullPointerException由RuntimeException派⽣出来,是⼀个运⾏级别的异常。意思是说可能会在运⾏的时候才会被抛出,⽽且需要
看这样的运⾏级别异常是否会导致你的业务逻辑中断。
发⽣原因:
1.空指针异常发⽣在对象为空,但是引⽤这个对象的⽅法以及⾃动装箱⾃动拆箱的时候。
例如:Strings=null;//对象s为空(null)intlength=();//发⽣空指针异常
2.⼀个变量是null,及只有其名,没有实值内容,也没分配内存,当你要去取他的长度,对他进⾏操作就会出现NullPointException,所以⽣命⼀个变
量时最好给它分配好内存空间,给予赋值。
3.⽐如变量为空,⽽你没有去判断,就直接使⽤,就会出现NullPointException。写程序时严谨些,尽量避免了,例如在拿该变量与⼀个值
⽐较时,要么先做好该异常的处理
如:if(str==null){n(\"字符为空!\");}
当然也可以将这个值写在前⾯进⾏⽐较的,例如,判断⼀个String的实例s是否等于“a”,不要写成(\"a\"),这样写当s为空的时候
容易抛出NullPointerException,⽽写成\"a\".equals(s)就可以避免这个问题。不过对变量先进⾏判空后再进⾏操作⽐较好
4.尽量避免返回null,⽅法的返回值不要定义成为⼀般的类型,⽽是⽤数组。
如果list想要返回null的时候,就返回⼀个没有元素的数组,然后再对()==0进⾏判断。就能避免许多不必要的
NullPointerException,使⽤NullObject返回代替返回null确是⼀种不错的选择。注意,NullObject是特殊的null对像象
5.当valueOf()和toString()返回相同的结果时,宁愿使⽤前者。
因为调⽤null对象的toString()会抛出空指针异常,如果我们能够使⽤valueOf()获得相同的值,那宁愿使⽤valueOf(),传递⼀个null给
valueOf()将会返回“null”,尤其是在那些包装类,像Integer、Float、Double和BigDecimal。
推荐养成习惯:
1.习惯使⽤StringUtils,它的⽅法是空指针安全的,他们不会抛出空指针异常
2.逢对象多考虑⼀步
3.多使⽤第三⽅库,使⽤springframework⾃带的⽅法注解及lombk,但也要看清他们的⽅法执⾏的原理
参考:等博客及使⽤经验