java空指针避坑指南

引出问题

    最近自己的团队,开发过程中遇到过N多的空指针问题。

    虽然问题都比较low,也就是常说的一些低智商问题。

    但是,生产环境出现空指针,也是很要命的事情。

什么是空指针

    空指针发生最常见的就是,“使用一个根本不存在的对象中的方法”。

    那么问题来了,一个对象不存在,为什么可以调用它的方法呢?

    其实,在编译期,只要自己定义了一个对象,都可以调用该对象的方法。但是在运行期间,一个对象是否被定义,一个对象是否为null,在编译期是不知道的,所以这是一个运行期的异常。

怎么避免

    只要记住一句话,如果要调用一个对象的方法的时候,首先确定这个对象在运行期间不会为null

    常见的就是String的equals方法,String字符串也是一个对象,使用字符串之前一定要确保这个字符串不会为null。

    日常工作中要时刻做好空指针的判断,其实,只要用到“.”的时候,就要考虑是否会出现空指针的问题了。

    例如:

public static void testMethod(String b){
    String a = "a";
    a.equals(b);//这里就不会出现空指针
    b.equals(a);//b就要谨慎的考虑空指针问题了
}

猜你喜欢

转载自blog.csdn.net/A_art_xiang/article/details/113776008
今日推荐