打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Object 类中的 equals方法
userphoto

2019.02.10

关注

1 相等与同一

如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等。如果两个引用对象指的是同一个对像,则称这两个变量同一。Object类中定义的equals 函数原型为:public boolean equals(Object);他是判断两个对象是否同一,并不是是否相等。

2 equals方法

由于Object 类是所有类的最高基类,所有其他类都继承类Object类的equals()方法,定义原型如下:

1
2
3
public boolean equals (Object x){
    return this == x;
}

 在java中 “==” 是判断两个对象是否同一,而不是判断相等。因此Object类中的equals方法也是判断两个对象是否同一。要判断两个对象是否相等,就需要重写equals()方法。

3 equals()方法的重写:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Person{
    public String name;
    public int age;
     
    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }
     
    @Override
    public boolean equals(Object x){
        if(this.getClass() != x.getClass())
            return false;
        Person p = (Person)x;
        return (this.name == p.name) &&
                (this.age == p.age);
    }
     
}
public class Test{
    public static void main(String [] args){
        Person p1 = new Person("Lily",23);
        Person p2 = new Person("Lily",23);
        System.out.println(p1.equals(p2));
    }
}

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
夯实Java基础(五)——==与equals()
带着问题读CLR via C#(四)基元类型,引用类型和值类型(下)
java笔记.equals的方法
详解equals()方法和hashCode()方法
[转]如何在Java中避免equals方法的隐藏陷阱 - 沉睡森林@漂在北京 - Blog...
equals()方法的重写
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服