java对象判空时需使用null == obj。不能使用obj.equals(null),因为我们判空的前提是对象可能是null,null去调用equals方法显然是会抛出空指针异常。举例如下:

package demo;

public class ObjectEqualsDemo {

    public static void main(String[] args) {
        Object obj = getObj(0);
        System.out.println(obj.equals(null));
        System.out.println(obj == null);
        System.out.println(null == obj);

    }

    public static Object getObj(int i) {
        if (i == 0) {
            return null;
        } else {
            return new Object();
        }

    }
}

当getObj(0),obj为null时,打印结果如下:

Exception in thread "main" java.lang.NullPointerException
    at demo.ObjectEqualsDemo.main(ObjectEqualsDemo.java:7)

当getObj(1),obj不为null时,打印结果如下:

false
false
false

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2022-01-25
  • 2022-02-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2022-12-23
相关资源
相似解决方案