equals()方法与 ==

这篇博客详细介绍了Java中equals()方法与==运算符的区别。对于基本类型,==比较值;对于引用类型,==检查是否指向同一对象。equals()则用于判断对象的等价性,需满足自反性、对称性、传递性、一致性以及与null的比较。通过示例展示了Integer对象的equals()返回true而==返回false的情况,强调了两者在比较时的不同行为。
摘要由CSDN通过智能技术生成

equals()

  • 等价关系

两个对象具有等价关系,需要满足以下五个条件:
自反性

a.equals(a);//true

对称性

a.equals(b)==b.equals(c);//true

传递性

if (x.equals(y) && y.equals(z))
    x.equals(z); // true;

一致性

x.equals(y) == x.equals(y); // true

与 null 的比较:对任何不是 null 的对象 x 调用 x.equals(null) 结果都为 false

x.equals(null); // false;
  • 等价与相等
  1. 对于基本类型,== 判断两个值是否相等,基本类型没有 equals() 方法。
  2. 对于引用类型,== 判断两个变量是否引用同一个对象,而 equals() 判断引用的对象是否等价
Integer x = new Integer(1);
Integer y = new Integer(1);
System.out.println(x.equals(y)); // true
System.out.println(x == y);      // false
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值