当前位置 博文首页 > A_art_xiang的博客:java空指针避坑指南

    A_art_xiang的博客:java空指针避坑指南

    作者:[db:作者] 时间:2021-07-14 10:03

    ?

    引出问题

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

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

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

    什么是空指针

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

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

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

    怎么避免

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

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

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

    ? ? 例如:

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

    ?

    cs