Objects.equals(a,b)和a.equals(b)

😂 这篇文章最后更新于1186天前,您需要注意相关的内容是否还可用。
目录导航
  • Objects.equals(a,b)解析
  • a.equals(b)解析
  • Objects.equals(a,b)解析

    首先查上源码:

    public static boolen equals(Object a,Object b){
        return(a==b)||(a!=null&&a.equals(b))

    可以看到源码种有一个判空,以防止null值作为参数时报空指针异常。

    a.equals(b)解析

    a.equals(b)方法的源码:

    public static boolen equals(Object obj){
        return(this==obj)
        }

    其并没有判空操作,当null值调用这个方法就会报空指针异常。因此才建议使用equals时常量放在前面调用,括号里写变量,或者使用Objects.equals方法