在Java中,用作字符串比较的运算符" == "和".equals()"的区别?

声明两个字符串变量Strings1="abc",Strings2="abc"那么s1==s2返回结果是什么?为什么?s1.equals(s2)返回结果是什么?为什么?同样... 声明两个字符串变量
String s1 = "abc",String s2 = "abc"
那么 s1 == s2 返回结果是什么?为什么?
s1.equals( s2) 返回结果是什么?为什么?

同样,实例化两个字符串对象
String s3 = new String("abc");
String s4 = new String("abc");
那么 s3 == s4 返回结果是什么?为什么?
s3.equals( s4) 返回结果是什么?为什么?
展开
 我来答
lylegend13
2011-11-18 · TA获得超过4696个赞
知道大有可为答主
回答量:1701
采纳率:0%
帮助的人:1723万
展开全部
你好,括号中是回答

String s1 = "abc",String s2 = "abc"
那么 s1 == s2 返回结果是什么?(true)为什么?(因为它俩指向了同一个对象)
s1.equals( s2) 返回结果是什么?(true)为什么?(因为它俩指向了同一个对象,同一个对象当然值相等)

String s3 = new String("abc");
String s4 = new String("abc");
那么 s3 == s4 返回结果是什么?(false)为什么?(因为它俩指向的是不同的对象)
s3.equals( s4) 返回结果是什么?(true)为什么?(因为它俩指向的对象的值相等)
孤独的探戈1573
2015-10-04 · TA获得超过580个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:156万
展开全部
1.
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
2.
equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
3.
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅气的莉大爷
2015-09-25 · TA获得超过2567个赞
知道小有建树答主
回答量:2643
采纳率:5%
帮助的人:712万
展开全部
运算符==是针对整形int,long int和浮点数的比较。
.equals()是针对String的比较。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rszssmmv
2011-11-18 · TA获得超过129个赞
知道答主
回答量:34
采纳率:0%
帮助的人:20万
展开全部
网上找吧,有明确的介绍 定义变量和对象时的内存指向问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式