想要值比较而非引用比较的时候,需要重写equals()方法,因为Object的equals()方法默认和“= =”一样,都是引用比较。下面是一个小栗子:
public class Person{
private String name;
private int age;
@Override
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(obj == null || getClass() != obj.getClass()){
return flase;
}
Person other = (Person)obj;
return this.age == other.age && this.name.equals(other.name);
}
}
Java中重写equals()方法实现值比较
8617






