判断输入字符串与key是否相等为什么不能用x==strSearch用了就什么也不输出

判断输入字符串与key是否相等为什么不能用x==strSearch用了就什么也不输出

if(x.equals(strSearch)) {

System.out.println("找到了");

System.out.println(strSearch+"-"+animal.get(strSearch));

}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,这是因为在定义String a="ds"; 时,在常量池中生成ds常量,再执行String b="ds";时直接使用常量池的这个引用就可以了,所以他们的地址是相同的,会返回true,具体如下:

http://img1.sycdn.imooc.com//climg/5d8330e60936591814360952.jpg

建议同学要温故而知新,回顾一下《Java 字符串》中2-11小节,视频中都有讲到哦~

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕酷酷 2019-09-19 15:31:31

同学你好,在进行字符串之间的比较时,使用equals比较的是两个字符串的内容是否相等,如果使用==比较的则是两个字符串的在内存地址是否相同,所以在案例中,不能使用==进行判断。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 焱羿 #1
    String a="ds"; String b="ds"; if(a==b) { System.out.println("字符串相等"); } 可是这段代码就可以输出啊
    2019-09-19 15:35:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师