“==”和equals的区别,以下是个人理解,希望大家批评指正!

在Java语言环境中,

        “==”是等价运算符,判断等式两边是否相等。返回boolean类型。相等返回true,不等返回false。

在基本数据类型中“==”比较他们的值。在复合数据类型中“==”比较的是他们在内存中的地址。只有在

他们指向同一地址的时候返回true,否则就是false。

       说到equals,equals() 是Object类中定义的一个方法,我们都知道程序中所有的类都继承Object类。

equals()方法里也是用“==”进行比较的,按说equals()方法也是比较的他们内存中存放的地址值,但是这

只是它的初始行为。在很多类库里面都对equals()方法进行了重写。如String,Integer,Date这些类中的

equals()都被赋予了别的用处。

      比如在学习Set集合时只要是hashCode和equals()都相等时就被认为是同一个对象/元素,会报错。

但是用''=="比较时,他们依然是不相等的。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值