android的开发中我发现使用bundle.getString的诡异问题

android的开发中我发现使用bundle.getString获取到来自另一个activity的Intent中用putExtra传来的一个字串,比如传入一个“ABC”。... android的开发中我发现使用bundle.getString获取到来自另一个activity的Intent中用putExtra传来的一个字串,比如传入一个“ABC”。
我设一个变量s来接收getString返回的字符串,在监视器里看到这个变量s确实被赋值成了"ABC",但是问题是,当我使用if(s=="ABC")这样的语句时,却判断为不等,这是为什么啊?
展开
 我来答
logic1965
推荐于2016-05-21 · TA获得超过551个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:212万
展开全部
在C++中,由于经常重载==运算符,所以可以这样使用if(s=="ABC"),判断字符串相等,重载,比较的是两个指针指向的内容,不重载,比较的是两个指针值。

在JAVA中,s是一个String对象引用,"ABC"是另外一个String对象,用==,只是比较两个对象的引用,很明显,两个引用指向的是两个不同的对象(不同内存)。

判断JAVA中两个对象内容相等,需要用if(s.equals("ABC"))
郝子琪
2012-06-14 · TA获得超过1746个赞
知道大有可为答主
回答量:1579
采纳率:0%
帮助的人:1475万
展开全部
s和”ABC“是两个不同的字符串对象,判断肯定不等。
你可以使用if(s.equals("ABC")来判断内容是否相等。
-----------------------------------------------------------------------------------------------------
安卓精英团为你解答
安卓精英团欢迎各位精英加入
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式