使用字符串时混淆输出

She*_*y's 1 java

    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));
Run Code Online (Sandbox Code Playgroud)

这导致输出如下,但我不明白为什么不显示"ANS1"和"After result"文本.请帮忙.

ANS2->真

The*_*ind 5

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

偶:System.out.println("ANS1->" +sb1 == sb1);印刷品false:P