加号运算符的优先级仅在java tutorial precedence table中列出一次。然而,以下Java表达式:Java中的+(加号)运算符的优先级是什么?
String unexpected = "1 + 1 = " + 1 + 1;
String expected = "1 + 1 = " + (1 + 1);
System.out.println(unexpected);
System.out.println(expected);
结果输出:
1 + 1 = 11
1 + 1 = 2
这是否意味着加操作具有更高的优先级用于连接字符串的时候,还是意味着加运算符的优先级是字符串和数字没有什么不同,但它只是从左到右进行评估?
它为什么不同?所有字符串连接都使用StringBuilder进行编译。所以这与评估无关,而与编译无关。 – Mikhail