==与equal

本文详细解释了Java中如何使用==操作符判断两个String对象是否指向同一内存地址,以及如何通过覆写Object类的equals方法来实现内容的比较。特别针对String类的特点进行了深入剖析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

== 在java中,用来判断两个对象是不是同一个时使用.例如

String a = "132456";

String b = "132456";

首先我们先了解一下,java中的String类。String不属于八大基本类型。他属于java.lang.String

介绍一下String类定义对象的特点。首先String定义对象有两种方式,一种是:String a = new String()/new String("sdf");

另一种是:String a = "sdf";这种方式与第一种方式的不同之处在于:这种方式定义String对象,程序是先去内存中找,看看是否有一个值为sdf的对象,如果有,程序把这个对象对应的地址引用指向a,如果没有,程序会在内存中重新new一个String对象,值为sdf,并地址引用指向a。所以上面的a对象和b对象其实都是一个内存对象的地址引用,即他们都指向同一个对象,所以a==b是

正确的。但是如果String a = new String("123");String b = new String("123"); a==b 是错误的,a与b指的是两个对象。但a与b指向的对象的值都是123,值是相同的。

 

equal 是 java.lang.Object类中定义的方法。其他对象需要都可以使用equal()方法,因为java中所有类都直接或间接的继承

这个类,但这个类中的equal方法,只是比两个对象是不是同一个对象,即==判断,所以如果某个对象要使用equal方法,一般都

先重写这个方法,比如String类,他就重写了这个方法,扩展了这个方法的使用范围,使得Equal方法不只是==判断,还包括了对

象值得判断,即如果两个对象不是同一个对象,但对象内容是相同的,那么也认为equal成立,即返回true;例如:String a = new String("123");String b = new String("123");a==b 是false;但a.equal(b) 是true;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值