Object 类的equals方法
Object 类中定义有:
public boolean equals (Object obj)方法
提供对象是否“相等”的逻辑
Object 的equals方法定义为:x.equals(y)当x和y是同一个对象的应用时返回true否则返回false
api中的equals的原型是:
public boolean equals (Object x){
return this == x;}jdk中提供的一些类,如String、Date等,重写了Object的equals方法,调用这些类的equals方法,x.equals(y),当x和y所引用的对象是同一类对象且属性内容相等时(并不一定是相同的对象)返回true否则返回false
可以根据需要在用户自定义类型中重写equals方法
例子:
public class equals {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer i1 = new Integer(1);
Integer i2 = new Integer(1);
System.out.println(i1 == i2);
System.out.println(i1.equals(i2));
Mao m1 = new Mao("A", "A");
Mao m2 = new Mao("A", "A");
System.out.println(m1 == m2);
System.out.println(m1.equals(m2));
}
}
class Mao {
String name;
String color;
Mao(String n,String c){
name = n; color = c;
}
public boolean equals(Object obj) {
return true;
}
}
返回结果:
false
true
false
true

浙公网安备 33010602011771号