在对象与对象之间需要比对的情况下,需要重写equals和hashCode
比如:对象集合排序、对象集合去重等
直接重写继承自Object类的equals只是单纯的比较了一下地址。
public boolean equals(Object obj) {
return (this == obj);
}
一般来说是远远不够的,所以你需要对它进行改造。
@Override
public boolean equals(Object o) {
if (this