Trong Java 8 gói mới java.util.function chứa rất nhiều giao diện chức năng. Các tài liệu cho gói phần mềm đó (http://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html) làm cho một số tài liệu tham khảo để "chức năng hình dạng":"Hình dạng chức năng" liên quan đến các giao diện chức năng trong Java 8 là gì?
- Có một số cơ bản chức năng hình dạng, bao gồm cả chức năng (chức năng unary từ T R), người tiêu dùng (chức năng unary từ T đến void), Predicate (hàm unary từ T đến boolean) và Supplier (hàm nilary thành R).
- Hình dạng chức năng có tính chất tự nhiên dựa trên cách chúng được sử dụng phổ biến nhất. Các hình dạng cơ bản có thể được sửa đổi bởi tiền tố arity để biểu thị một vị trí khác, chẳng hạn như BiFunction (hàm nhị phân từ T và U đến R).
- Có thêm các hình dạng chức năng có nguồn gốc bổ sung để mở rộng các hình dạng chức năng cơ bản , bao gồm UnaryOperator (mở rộng chức năng) và BinaryOperator (mở rộng chức năng).
Tôi chưa bao giờ nghe thuật ngữ "hình dạng chức năng" trước đây, và tôi hầu như không tìm thấy tham chiếu đến nó ở bất kỳ đâu ngoại trừ trong tài liệu ở trên, nhưng đó là tài liệu chính thức của Oracle về giao diện chức năng mà tôi muốn hiểu nó.
Bất kỳ ai cũng có thể cung cấp định nghĩa về "hình dạng chức năng" và tạo một ví dụ? Nó là một thuật ngữ chung trong Khoa học Máy tính, hay nó chỉ liên quan đến Java 8? Và làm thế nào là hình dạng chức năng liên quan đến một bộ mô tả chức năng (chẳng hạn như (T) -> boolean cho Giao diện người dùng <T>)?
CẬP NHẬT Hai nhận xét bên dưới từ Brian Goetz trả lời các câu hỏi tôi nêu trong bài đăng này.
duy nhất (không chính thức) tài liệu tham khảo để định hình trong JLS là ở dưới cùng của [15.12.2.1] (http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.12.2.1). – assylias
"hình dạng" cũng được đề cập trong [JSR 335] (https://jcp.org/aboutJava/communityprocess/final/jsr335/index.html), Phần F; nhưng nó luôn được đặt trong dấu ngoặc kép và không có định nghĩa rõ ràng cho nó. – stakx
Các tham chiếu trong JLS và JSR335 thành "hình dạng" là các câu giống hệt nhau và tham chiếu có lẽ được sao chép từ một tài liệu sang tài liệu khác. Từ ngữ cảnh, có vẻ như "hình dạng chức năng" bằng cách nào đó liên quan đến việc đánh giá thời gian chạy (trong khi một "bộ mô tả hàm" rõ ràng được biết là biên dịch). – skomisa