java中判定2个String类字符串是否相等。

java中判定2个String类字符串是否相等。如图,为什么一个是假,一个是真?... java中判定2个String类字符串是否相等。如图,为什么一个是假,一个是真? 展开
 我来答
305661006
推荐于2018-04-04 · TA获得超过183个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:143万
展开全部
字符串比较内容正常是使用equals方法。
引用类型的==比较的其实是地址的值。
new出来的对象分配的地址不同,所以不相等,直接赋值其实地址还没变化。
不过s3,s4经过类似s3=s3+"1";s4=s4+"1"处理后同样不相等,String的每次操作都会生成新对象,指向不同地址。
追问
2种命名方法(new和不带new的)都是属于string类的字符串吗?大神
追答
类型是不变的,都是String。不过new这种开发项目里还没怎么见过。
字符串编辑比较少的一般用String,开发遇到拼SQL文条件比较多的常用StrngBuffer。StrngBuffer是在原对象上操作,比较节省资源。
liuyang054
2016-07-19 · TA获得超过9093个赞
知道大有可为答主
回答量:5317
采纳率:78%
帮助的人:5301万
展开全部
上面的S1和S2是你是用new创建的, 就是创建了String对象, 直接用==做比较的时候就是比较对象的首地址,肯定是不相等的。

下面的是两个字符串,比较的是内容,就是相等的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gdsfggdf
2016-07-19 · TA获得超过840个赞
知道小有建树答主
回答量:219
采纳率:100%
帮助的人:197万
展开全部
==是判断内存地址是否一样,s1 和 s2都是new的所以内存地址不一样。
字符串一般都用equals,判断内容是否相同。s3.equals(s4)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式