public class TestEquals {
/**
* @param args
*/
public static void main(String[] args) {
Cat cat=new Cat(1, 2, 3);
Cat cat2=new Cat(1, 2, 3);
System.out.println(cat==cat2);
System.out.println(cat.equals(cat2));
String s1="haha";
String s2="haha";
System.out.println("s1==s2"+s1==s2);
System.out.println("s3.equals(s4)"+s1.equals(s2));
String s3=new String("haha");
String s4=new String("haha");
System.out.println("s3==s4"+s3==s4);
System.out.println("s3.equals(s4)"+s3.equals(s4));
}
}
class Cat{
int color;
int height;
int weight;
public Cat(int color,int height,int weight) {
this.color=color;
this.height=height;
this.weight=weight;
}
//重写equals方法
@Override
public boolean equals(Object obj) {
if(obj==null){
return false;
}else{
if(obj instanceof Cat){//判断参数是否为Cat对象
Cat c=(Cat)obj;
if(c.color==this.color
&&c.height==this.height
&&c.weight==this.weight){
return true;
}
}
}
return false;
}
}
false
true
s1==s2true
s1.equals(s2)true
s3==s4false
s3.equals(s4)true