栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

避免空指针的方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

避免空指针的方式

Java 中任何对象都有可能为空,当我们调用空对象的方法时就会抛出 NullPointerException 空指针异常,这是一种非常常见的错误类型。我们可以使用以下方法来避免产生这类异常,使得我们的代码更为健壮。
1.String的eauqls()方法,把常量放在前面
源代码如下:

public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = value.length;//如果把空对象放在前面,会报异常
        if (n == anotherString.value.length) {
            char v1[] = value;
            char v2[] = anotherString.value;
            int i = 0;
            while (n-- != 0) {
                if (v1[i] != v2[i])
                    return false;
                i++;
            }
            return true;
        }
    }
    return false;
}

举例如下:

String s1 = "hello";
String s2 = null;
boolean equals = s1.equals(s2);
System.out.println(equals);//false

2.Object的equals()方法
源代码如下;

public boolean equals(Object obj) {
	return (this == obj);
}

举例如下:

Object o1 = "hello";
Object o2 = null;
System.out.println(o1.equals(o2));//false

3.使用if

Student stu = new Student();
if(stu != null){
	//执行相应代码
}

4.使用try-catch
把可能出现空指针异常的代码包裹到try语句中,用catch捕获异常。

try {
    A a = new A();
    a = null;
    a.eat();
} catch (NullPointerException e) {
    System.out.println("空指针异常!");
}

运行结果:

空指针异常!

这样就不会报异常了,而是显示自己写入的错误信息

5.空指针异常是用空对象调用方法导致的,此时,可以通过把方法声明为静态方法,通过“类.静态方法”的方式来避免空指针异常。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/307007.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号