在java中,String s1='java',String s2='java',为什么s1==s2,是false,而s1.equals(s2)是true

 我来答
年伶伶剧沈
2019-04-18 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:607万
展开全部
这就涉及到传值和传引用的问题了。
对于String类型来说
用==比较的是两个字符串所指向的地址,因为这两个变量不是指向同一个地址,所以他们两个==当然是false了,而equals是比较两个变量的值,两个变量的值都是java字符串
当然是一样的了
代向南塔丹
2020-04-25 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:35%
帮助的人:631万
展开全部
这个就是值传递和引用传递的问题了,==比较的栈值,即s1!=s2,equals比较的是堆里的值,都是java,所以是true
再看看别人怎么说的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式