stringbuffer类中的方法equals()方法比较的是“同一”_快速重写equals方法比较对象...

9f0c2bc237b66958adf7494ce7491e9f.png

一:equals 和 == 区别

请看下面代码,能猜出结果吗?

bff8b9f06baccbafffd43eb68bf1ccbf.png

编辑搜图

请点击输入图片描述

结果如下:

61f7ae22e32f685884f7228f51d8dc8f.png

编辑搜图

请点击输入图片描述

为什么 == 只能比较int类型,而不能比较Integer呢?而equals为什么能?

  1. == 只能被用来比较基本类型变量(int,long.....),而不能比较引用类型(对象)。

  2. 那为什么能用equals比较呢?因为Integer重写了equals方法。所以比较对象只能重写equals方法。

    源码如下:

aff96f74fcf9eff9891b971f0b04c852.png

编辑搜图

请点击输入图片描述

二:重写equals和hashCode方法

不是说重写equals方法就行了吗?为什么还要重写hashcode方法?其实当 equals 方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。对于HashMap类型的数据,通常会根据hashcode来判断两个值是否相等.所以很有重写的必要。

三:重写流程

  1. 对某个类,使用IDEA快速重写equals,hashcode方法

293d5c0a7fdb160e49a1aadc6b64e19e.png

编辑搜图

请点击输入图片描述

2.重写代码如下:

02894d8238809aac56803be857b23615.png

编辑搜图

请点击输入图片描述

这样就可以快速创建一个equals方法比较对象了,你学废了吗?

65755065eb26ca7dfccc985ba09ffd50.png

点击上方,轻松关注!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值