永发信息网

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

答案:2  悬赏:0  手机版
解决时间 2021-03-08 00:31
  • 提问者网友:缘字诀
  • 2021-03-06 23:54
android的开发中我发现使用bundle.getString获取到来自另一个activity的Intent中用putExtra传来的一个字串,比如传入一个“ABC”。
我设一个变量s来接收getString返回的字符串,在监视器里看到这个变量s确实被赋值成了"ABC",但是问题是,当我使用if(s=="ABC")这样的语句时,却判断为不等,这是为什么啊?
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-03-07 00:14
在C++中,由于经常重载==运算符,所以可以这样使用if(s=="ABC"),判断字符串相等,重载,比较的是两个指针指向的内容,不重载,比较的是两个指针值。

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

判断JAVA中两个对象内容相等,需要用if(s.equals("ABC"))
全部回答
  • 1楼网友:雾月
  • 2021-03-07 00:19
你好! s和”ABC“是两个不同的字符串对象,判断肯定不等。 你可以使用if(s.equals("ABC")来判断内容是否相等。 ----------------------------------------------------------------------------------------------------- 安卓精英团为你解答 安卓精英团欢迎各位精英加入 我的回答你还满意吗~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯