Java 在处理字符串时与输出混淆

Java 在处理字符串时与输出混淆,java,Java,这导致输出如下,但我不明白为什么不显示“ANS1”和“结果后”文本。请帮忙 假的 ANS2->true因为:“ANS1->”+sb1==sb2==>(“ANS1->”+sb1==sb2)。 现在,编译器执行此操作并打印false,因为(“+sb1)=sb2 偶数:System.out.println(“ANS1->”+sb1==sb1)打印false:P因为:“ANS1->”+sb1==sb2==>(“ANS1->”+sb1)==sb2)。 现在,编译器执行此操作并打印false,因为(“+sb

这导致输出如下,但我不明白为什么不显示“ANS1”和“结果后”文本。请帮忙

假的

ANS2->true

因为:
“ANS1->”+sb1==sb2
==>
(“ANS1->”+sb1==sb2
)。 现在,编译器执行此操作并打印
false
,因为
“+sb1)=sb2

偶数:
System.out.println(“ANS1->”+sb1==sb1)打印
false
:P

因为:

“ANS1->”+sb1==sb2
==>
(“ANS1->”+sb1)==sb2
)。 现在,编译器执行此操作并打印
false
,因为
“+sb1)=sb2


偶数:
System.out.println(“ANS1->”+sb1==sb1)打印
false
:P

除了LostMinds的答案之外:

    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));

现在您可以看到“丢失的”字符串。

除了LostMinds的答案之外:

    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));

现在您可以看到“丢失的”字符串。

@Biffen-Nope。使用
equals
而不是第三个代码中使用的
=
,是不明智的output@Biffen-没有。使用
equals
而不是第三次输出中使用的
=
,这是不正确的正确的编码方式是“System.out.println”(“ANS1->”+(sb1==sb2));“非常感谢……”正确的编码方式是“System.out.println(“ANS1->”+(sb1==sb2))