java 覆写Object.equals() 方法

Posted 李凯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 覆写Object.equals() 方法相关的知识,希望对你有一定的参考价值。

 1 //覆写Object.equals
 2 class Demo {
 3     private String name;
 4     private int age;
 5     public Demo(String name,int age) {
 6         this.name=name;
 7         this.age=age;
 8     }
 9     public String toString() {
10         return this.name+this.age;
11     }
12     public boolean equals(Object obj) {    //覆写equals方法
13         if(obj==null) {  //当传入的obj对象为null时
14             return false;
15         }
16         if (!(obj instanceof Demo)) {  //当传入的obj对象为String数据类型或不是本类对象时
17             return false;
18         }
19         Demo dd = (Demo) obj; //强制向下转型,目的获取类中的属性
20         //此时需要比较两个对象,当前this 与 传入的Object
21         return this.name.equals(dd.name) && this.age == dd.age;
22     }
23 }
24 public class equalss {
25     public static void main(String[] args) {
26         Demo de1 = new Demo("李光",16);
27         Demo de2 = new Demo("李光",16);
28         System.out.println(de1.equals(de2));
29     }
30 }

 

以上是关于java 覆写Object.equals() 方法的主要内容,如果未能解决你的问题,请参考以下文章

java中,父类Object的“equals()方法”和“==”效果是否一样的?

Object,equals,toString

Object.hashCode()与Object.equals()

Java集合—散列与散列码

浅析Object基类提供的Virtual Object.Equals, Static Object.Equals and Reference.Equals等三个方法

讲的很详细的一篇关于object equals() & hashCode() 的文章