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;
}
}
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;
}
}
相关文章推荐
- Java Collection框架在Collection的生命周期中需要基于不变字段的equals()和hashCode()方法
- Java进阶:深入equals方法对象相等比较
- Java中关于==和equal的区别 以及equals()方法重写
- 如何在Java中避免equals方法的隐藏陷阱
- 关于Java equals()方法的几点疑问
- Java String 的 equals() 方法可能的优化
- java对象equals方法的重写
- java 中 == 和 equals()方法的 比较
- java中equals方法和“==”的比较
- Effective Java Item8-在覆盖equals(Object类的nonfinal方法)时遵循接口规范
- 深入java 的equals方法和hashCode方法
- Java语言规范要求equals方法应具有的特性
- 深入Java的equals方法
- Java语言深入:深入研究Java equals方法,equals,==,equals用法
- Java equals方法实现总结[原]
- 深入java的equals方法,怎么比较两个对象的内容是否相等?对象的内容指的是什么?
- java中equals方法的用法以及==的用法
- JAVA中的 equals()方法与==
- 如何在Java中避免equals方法的隐藏陷阱
- java中的equals()方法