String sb1 = new String("Soft");
String sb2 = new String("Soft");
System.out.println("ANS1->" +sb1 == sb2);
System.out.println(sb1 == sb2 + " After result");
System.out.println("ANS2->" +sb1.equals(sb2));
Это приводит к выводу, как показано ниже, но я не понимаю, почему тексты "ANS1" и "After result" не отображаются. Просьба помочь в этом.
ложный
ANS2-> верно
Потому что: "ANS1->" +sb1 == sb2
==> ("ANS1->" +sb1) == sb2
. Теперь компилятор делает это и печатает false
потому что ("ANS1->" +sb1) !=sb2
.
Even: System.out.println("ANS1->" +sb1 == sb1);
печатает false
: P
В дополнение к ответу TheLostMinds:
System.out.println("ANS1->" + (sb1 == sb2));
System.out.println((sb1 == sb2) + " After result");
Теперь вы видите "потерянные" строки.
equals
вместо==
как вы использовали в вашем третьем выводе