请问在java中“equals”和“==”有什么区别?

非常感谢... 非常感谢 展开
 我来答
ahbzlql
推荐于2017-09-13 · 超过32用户采纳过TA的回答
知道答主
回答量:179
采纳率:0%
帮助的人:121万
展开全部
equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
Eg:s1 = new String("sony"); //创建的是字符串对象
s1.equals("sony"); //返回
trues1 == "sony" //返回false
//如果
s1 = "sony";
s1 == "sony" //返回true
清影漂泊
2008-06-13 · TA获得超过1327个赞
知道大有可为答主
回答量:3393
采纳率:100%
帮助的人:1895万
展开全部
equals是字符串比较,==是各种类型都可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sulish
2008-06-13 · TA获得超过183个赞
知道答主
回答量:281
采纳率:0%
帮助的人:163万
展开全部
ahbzlql 说的没错 我补充下
EQUALS通俗点说是比较深层的比较 他会进行HASH的比较 即在存储空间中把两个地址中的值进行比较。一般的引用类型数据最好用EQUALS比较。
而==只是简单的对两个值比较不进行HASH比较,对于HASH想有了解 最好找下资料看下,看完后你自然就会明白这两种比较的区别了,知识都是相关联的,看多了 有时候回来自然就明白了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在天湖山弹吉他的米老鼠
2008-06-14 · TA获得超过2064个赞
知道小有建树答主
回答量:1546
采纳率:100%
帮助的人:1035万
展开全部
一直是值比较 一个是对象比较 说白点

equals是注意对象里的值 而==则注意两个对象是否想等 比如 A a = new A(); A b = a; 那么他们两个比较就会相等 a ==b 返回就会true;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dieslrae
2008-06-13 · TA获得超过1146个赞
知道小有建树答主
回答量:2771
采纳率:0%
帮助的人:0
展开全部
equals是比较字符串值的,==是比较内存地址的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式