== 和 equals

本文详细介绍了Java中`==`与`equals()`方法的区别,`==`主要比较基本类型变量的值或引用类型的内存地址,而`equals()`默认比较对象的内存地址,但String类重写了equals方法以比较字符串内容。同时,解释了String对象在创建时如何利用常量池提升效率,以及Integer在特定范围内的常量池特性。
摘要由CSDN通过智能技术生成

== 和 equals

== :是判断两个变量或实例是不是指向同一个内存空间(基本数据类型比较的是值,引用数据类型比较的是内存地址
equals:看类有没有重写,没有重写比较的也是地址,没有重写equals方法的类都是调用的Object的equals的方法。
注意:String 中的 equals 方法是被重写过的S,string的equals方法比较的是对象的值.
常量池,String s = “hello”;这种方式创建String对象时会先从常量池查找有没有这个对象,有就把它赋给当前引用,没有就创建一个对象。

待确定,基本数据的包装类型(Byte, Short, Character,Integer,Float, Double,Long, Boolean)除了Float和Double之外,其他的六种都是实现了常量池的,因此对于这些数据类型而言,一般也可以直接通过==来判断是否相等
Integer 在常量池中的存储范围为[-128,127]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值