使用字符串时混淆输出

时间:2015-03-26 11:39:47

标签: 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));

这导致输出如下,但我不明白为什么" ANS1" "结果"文本不显示。请帮助。

ANS2->真

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

除了TheLostMinds的回答:

System.out.println("ANS1->" + (sb1 == sb2));
System.out.println((sb1 == sb2) + " After result");

现在你看到了“迷失”字符串。