Java中的根类Object类及equals()、toString()

类 Object 是类层次结构的根类

一、Object类系统的介绍
  • 所有的类都间接或直接的继承Object类
  • 也都实现了这个类的所有方法
  • 下面概括的Object类中的所有方法

在这里插入图片描述

二、toString()

public String toString()

【通常】toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

为什么要建议所有子类都重写此方法?

 public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

在Object类中返回一个字符串,该字符串由
类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。
这样的返回在外人看起来是没有意义的,所以建议所有子类都重写此方法。

三、equals()和hashCode()

public boolean equals(Object obj)

  • 指示其他某个对象是否与此对象“相等”。
  public boolean equals(Object obj) {
        return (this == obj);
    }
  • 这不符合我们的常规需求 ,我们一般希望比较的是对象业务系统的内容是否相同
  • 所以equals()在有需求的时候也可以重写
  • 注意:equals方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码
 	@Override
    public boolean equals(Object o) {
        if (this == o) {
        	return true;
        }
        if (o == null || getClass() != o.getClass()) {
        	return false;
        }
        Person person = (Person) o;
        return idCard == person.idCard;
    }

    @Override
    public int hashCode() {
        return Objects.hash(idCard);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值