1.5 Java.lang.NullPointerException问题 | Java Debug 笔记

299 阅读2分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接

Debug 笔记 <Java.lang.NullPointerException问题>

Java中,null 作为一个特殊值被对象引用,用来表示该对象当前指向的是一块未知内存数据。

然而程序中的NullPointerException这个异常代码提示,则是程序在使用或访问一个对象的引用时,而该对象等于null则该错误就会被抛出。

产生Java.lang.NullPointerException这个问题的原因主要有以下几个方面:

1.字符串变量未初始化。

2.接口类型的对象没有用具体的类初始化

常见的错误有:

  • List stuList ;这种情况就会报空指针异常;
  • List stuList = new ArrayList();这样初始化后就不会报错了。

3.当一个对象的值为空时,而你没有判断为空的情况,也会报空指针异常;

所以遇到这种情况,要想代码运行正确,可以在代码前加个判断,比如: if(ObjId != null);

String类型对象可以做个如下判断:

    if(objectStr !==null && !“”.equals(objectStr))

我们还可以多做个一个判断,是否不为空字符串:

    if(objectStr !==null && !“”.equals(objectStr.trim()))

4.优先使用String.valueOf()方法代替toString()

当程序代码需要对象的字符串表示形式时,可以避免使用该对象的toString方法。如果程序代码对象的引用等于nullNullPointerException错误则会抛出。使用静态String.valueOf方法,该方法不会抛出任何异常并打印null

5.使用三元运算符

我们通过三元运算符的表达式可以知道

boolean expression ? value1 : value2;

如果expression表达式结果为true,则返回value1,否则返回value2

我们可以使用三元运算符来处理空指针,有效的避免Java.lang.NullPointerException问题。