为什么 Java 8 引入了 *Integer.sum(int a, int b)*
我刚刚注意到JDK8为类引入了这种方法:Integer
/**
* Adds two integers together as per the + operator.
*
* @param a the first operand
* @param b the second operand
* @return the sum of {@code a} and {@code b}
* @see java.util.function.BinaryOperator
* @since 1.8
*/
public static int sum(int a, int b) {
return a + b;
}
这种方法有什么意义?为什么我应该调用此方法而不是使用运算符?我能想到的唯一可能性是,例如,当混合字符串和int时,运算符会改变含义,因此+
+
System.out.println("1"+2+3); // prints 123
System.out.println("1"+Integer.sum(2,3)); // prints 15
但使用括号无论如何都会起作用
System.out.println("1"+(2+3)); // prints 15