一.引用相等性与对象相等性 1. 引用相等性 引用到堆上同一个对象的两个引用是相等的,这就是引用的相等性. 如果想要知道两个引用是否相等,可以使用==来比较变量上的字节组合,如果引用到相同的对象,字节组合也会一样: if (foo == bar){ // 两个引用都指向同一个对象 } 2. 对象相等性 堆上的两个不同对象在意义上是相同的,这就是对象的相等性. 两个对象相等的条件是它们的hashCode相等,而且调用以另一个对象为参数的equals时返回true: if (foo.equals(b…