首先让我们来了解一下 equals() 的起源。该方法最开始于 Object 类中被定义——众所周知,这是所有类的祖宗。
这样直接return(this == obj)
时,对比的是两者的内存地址。只有当两者的内存地址完全相同时,才会返回 ture。
而 String 类中重写了该方法:
这样,String类型的数据 .equals() 自然会执行到这个方法,没啥好说的。
重写了个啥呢?
先是对比了两者的内存地址:
内存地址相同时,自然可保证两者的相同性。故直接返回了 ture。
而当内存地址不同时: