您的位置:首页 > 编程语言 > Java开发

Java---equals方法

2014-08-09 21:28 120 查看
1.如果某个类没有对equals方法重写的话,equals默认和==相同。即使两个对象的内容相同,equals的结果也为false。如:

Cat c1=new Cat(1,2);

Cat c2=new Cat(1,2);

System.out.println(c1==c2);//false;

System.out.println(c1.equals(c2));//false;

2.String类和Date类对equals方法进行了重写,所以该类的equals是比较两个对象的内容是否相同。如:

String s1=new String("hello");

String s2=new Stirng ("hello");

System.out.println(s1==s2);//false;

System.out.println(s1.equals(s2));//true;

3.可以在某个类中重写equals方法。如:

class Cat{
int age;
int weight;

//构造方法
public Cat(int age,int weight) {
this.age=age;
this.weight=weight;
}

//重写equals方法

public boolean equals(Object obj){
if(obj==null){
return false;
}
if(obj instanceof Cat){
Cat c=(Cat)obj;
if(c.age==this.age && c.weight==this.weight ){
return true;
}
}
return false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: