java问题解释16.关于以下程序段,正确的说法是(C)1.-查字典问答网
分类选择

来自任志勇的问题

  java问题解释16.关于以下程序段,正确的说法是(C)1.Strings1=”abc”+”def”;2.Strings2=newString(s1);3.if(s1==s2)4.System.out.println(“==succeeded”);5.if(s1.equals(s2))6

  java问题解释

  16.关于以下程序段,正确的说法是(C)1.Strings1=”abc”+”def”;2.Strings2=newString(s1);3.if(s1==s2)4.System.out.println(“==succeeded”);5.if(s1.equals(s2))6.System.out.println(“.equals()succeeded”);A、行4与行6都将执行B、行4执行,行6不执行C、行6执行,行4不执行C、行4、行6都不执行为什么是这样?要详细解答!

1回答
2020-12-30 05:50
我要回答
请先登录
任一鸣

  3.if(s1==s2)4.System.out.println(“==succeeded”);如上,执行行4需要一个条件,就是s1==s2,但是==与equals()方法不同,==比较的是内存地址,而equals()方法比较的是s1和s2的值。因为s1与s2的内存地址显然不是相同的,所以s1!=s2,条件不成立,行4就不执行了。如果你将行3if语句里的条件换成“s1.equals(s2)==true”或“s1.equals(s2)”行4就会执行了。回答完毕...

2020-12-30 05:51:01

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •