Java如何将String与布尔值连接?

时间:2013-12-01 14:06:36

标签: java

我无法理解下面的输出:

System.out.println(s1.equals(s2)+"a");  ->truea

System.out.println(s1==s2+"a");         ->false

s1& s2被声明为相同的字符串“abc”,即String s1="abc"; String s2="abc";

3 个答案:

答案 0 :(得分:6)

s1==s2+"a"

相同
s1==(s2+"a")

因为==的{​​{3}}低于+

答案 1 :(得分:3)

根据the Oracle documentation + 运算符的优先级高于equality。{/ p>

答案 2 :(得分:-3)

因为s1是一个字符串对象,而s2是另一个字符串对象。它们有不同的内存地址。