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.hashCode()与Object.equals()
浅析Object基类提供的Virtual Object.Equals, Static Object.Equals and Reference.Equals等三个方法