——运算符的优先级暗藏陷阱
以下代码:
final String pig = "length: 10";
final String dog = "length: " + pig.length();
System.out.println("Animals are equal: " + pig == dog);
执行后输出什么?是下面二者之一么?
都不是, 只输出一行
因为字符串连接符+的运算优先级高于比较符号==
"Animals are equal: " + pig == dog 其实和 ("Animals are equal: " + pig) == dog 等价.
附