== equals区别

本文介绍了Java中基本类型和引用类型的值比较差异,指出Integer和String等类对equals方法的默认行为进行了重写,以区分值相等和引用相同。通过实例展示了如何在不同场景下使用equals进行比较。
摘要由CSDN通过智能技术生成

一、==

对于基本类型来说是值比较,对于引用类型来说是比较的是引用

Integer Long等包装类型
小于128是值比较 
大于等于128引用比较

Integer a = 127;
Integer b = 127;
System.out.println(a == b);// true
Integer aa = 128;
Integer bb = 128;
System.out.println(aa == bb);// false


String x = "string";
String y = "string";
String z = new String("string");
System.out.println(x==y); // true
System.out.println(x==z); // false

二、equals

equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。

String s1 = new String("老王");
String s2 = new String("老王");
System.out.println(s1.equals(s2)); // true
Cat c1 = new Cat("波斯猫");
Cat c2 = new Cat("波斯猫");
System.out.println(c1.equals(c2)); // false

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值