equals和==的区别是什么?

 我来答
帐号已注销
2021-04-05 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:159万
展开全部

一、含义不同:

==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的是地址值。(比较地址值即是指是否为同一个对象的引用)

equals()是一个方法,只能比较引用数据类型。重写前比较的是地址值,重写后比一般是比较对象的属性。

二、引用不同:

值类型(int,char,long,bolean等)都是用=判断相等性。对象引用的话,=判断引用所指的对象是否是同一个。equals是Object的成员函数,有些类会覆盖(overide)这个方法,用于判断对象的等价性。

三、方法不同:

String里的方法,如果==号比较不相等,还会进行一下值的比较。所以equals方法具体的作用要看当前的那个类是如何实现重写父类中该方法的。如果没有重写该方法,那么他和==号等价。

扩展资料:

Eg:s1 = new String("sony"); //创建的是字符串对象

s1.equals("sony"); //返回true

s1 == "sony" //返回false

//如果

s1 = "sony";

s1 == "sony" //返回true

//如果

s1 = "sony";

s2 = "sony";

s1.equals(s2); 或者string.equals(s1,s2);//返回true

参考资料来源:百度百科-equals

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式