Tôi chỉ nhận thấy rằng JDK8 giới thiệu phương pháp này cho Integer
lớp:Tại sao Java 8 giới thiệu * Integer.sum (int a, int b) *
/**
* 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;
}
điểm của phương pháp này là gì? Tại sao tôi nên gọi phương thức này thay vì sử dụng toán tử +
? Khả năng duy nhất tôi có thể nghĩ đến là, ví dụ, khi trộn chuỗi và ints ý nghĩa +
điều hành thay đổi, vì vậy
System.out.println("1"+2+3); // prints 123
System.out.println("1"+Integer.sum(2,3)); // prints 15
nhưng sử dụng dấu ngoặc đơn sẽ làm việc anyway
System.out.println("1"+(2+3)); // prints 15
Uhm ... đó có lẽ là điều tôi chưa học. –
Tương tự. Tôi chưa bao giờ thấy việc sử dụng điều này. –
Câu hỏi thú vị hơn nhiều là: Điều gì về 'khác biệt',' sản phẩm' và 'quotient'? (Có lẽ không đủ trường hợp sử dụng "rõ ràng" cho điều này. Nhưng liệu có sử dụng 'Integer :: sum' hay' (a, b) -> (a + b) 'không quan trọng quá nhiều ...) – Marco13