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
<p>问题: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<p>答案:↓↓↓<p class="nav-title mt10" style="border-top:1px solid #ccc;padding-top: 10px;">任一鸣的回答:<div class="content-b">网友采纳 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就会执行了。回答完毕...
页:
[1]