Java中 == 和 equals 的区别

这篇博客探讨了Java中equals方法与==运算符在比较基本类型和引用类型时的不同。对于基本类型,==比较的是值,而对于引用类型,如String,==比较的是对象的内存地址,而equals在String类中被重写用于比较字符串内容。总结来说,==用于基本类型值的比较,equals通常用于对象内容的比较,尤其是当对象的方法重写了equals时。
摘要由CSDN通过智能技术生成

- java后台判断用equals:“1”.equals(u.getServiceType()),== 比较的是地址值,前端比较用===

1.比较java基本类型

比较基本类型只能用==,不能用"equals",这里的==比较的是两个基本类型的值.

2.比较String

String类重写了equals()方法,对比是字符串包含的内容是否相同。

"=="比较的是内存地址,"equals"比较的是值

java中的数据类型可以分为两类:

基本数据类型

byte,short,char,int,long,float,double,boolean

基本数据类型之间的比较需要用双等号(==),因为他们比较的是值

对于对象引用类型: ==比较的是对象的内存地址。
对于基本数据类型: ==比较的是值。

引用数据类型

接口、类、数组等非基本数据类型

Java中的字符串String属于引用数据类型。因为String是一个类

当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。因为没new一次就会重新开辟一个新的堆内存空间

总结:
对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是内存中的存放位置的地址值,跟双等号(==)的结果相同;如果被复写,按照复写的要求来。

== 的作用:
  基本类型:比较的就是值是否相同
  引用类型:比较的就是地址值是否相同
equals 的作用:
  引用类型:默认情况下,比较的是地址值,重写该方法后比较对象的成员变量值是否相同
  在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java中的战斗机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值