对于定义的对象即便是初始化的所有字段信息是相同的,如果单纯的用equals()比较是不同的,必须重写equals方法才可以。
import java.util.ArrayList;
import java.util.Collection;
import java.util.*;
public class hehe {
public static void main(String[] args){
Name nn = new Name("11","22");
System.out.println(nn.equals(new Name("11","22")));
}
}
public class Name{
public String id;
public String name;
Name(String name1,String id1){
name = name1;
id = id1;
}
public boolean equals(Object o){
if(o instanceof Name){
Name aa = (Name) o;
if(this.name.equals(aa.name)){
if(this.id.equals(aa.id)){
return true;
}
else
return false;
}
else
return false;
}return false;
}
}
本文介绍了一个Java示例,展示了如何重写equals方法来正确比较两个对象是否相等。通过具体的代码实现,解释了即使两个对象的属性相同,默认情况下使用equals方法进行比较也会返回不同结果的原因。
2779

被折叠的 条评论
为什么被折叠?



