由此可见'=='在比较的对象是引用类型时,是对栈中的地址值进行比较的。...在默认情况下,对象的equals方法没有重写 调用的是Object类中equals方法
那么我们来写个报错的例子:
A a = null;//假设我接收到config对象,我并不知道是否为空...此时由于我们的疏忽,接收到参数后,并没有对参数进行校验,导致调用equals方法报出空指针....如果根据 equals(java.lang.Object) 方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法 不要求 一定生成不同的整数结果。...(例如,String类对equals方法的重写就是逐个比较字符)
不重写的情况下,对象的equals方法 调用的是Object类中equals方法,在条件左边为Null时会报空指针,使用Objects.equals