Cả hai giao diện chức năng Function và Predicate đều được giới thiệu trong Java 8 để triển khai lập trình chức năng trong Java.
Giao diện hàm được sử dụng để thực hiện chuyển đổi, nó có thể chấp nhận một đối số và tạo ra một kết quả. Mặt khác, Predicate cũng chỉ có thể chấp nhận một đối số nhưng nó chỉ có thể trả về giá trị boolean. Nó được sử dụng để kiểm tra điều kiện.
Sr. Không. | Phím | Chức năng | Vị ngữ |
---|---|---|---|
1 | Cơ bản | Nó có thể nhận 2 tham số kiểu Đầu tiên đại diện cho kiểu đối số kiểu đầu vào và kiểu thứ hai đại diện cho kiểu trả về. | Nó có thể nhận một tham số kiểu đại diện cho kiểu đầu vào hoặc kiểu đối số. |
2 | Loại Trả lại | Nó có thể trả về bất kỳ loại giá trị nào. | Nó chỉ có thể trả về giá trị boolean |
3 | Phương pháp | Nó có phương thức trừu tượng apply (). | Nó có phương thức trừu tượng test (). |
4. | Trường hợp Sử dụng | Nó có thể được sử dụng để thực hiện kiểm tra có điều kiện | Nó có thể được sử dụng để chuyển đổi và cho các giá trị trả về. |
Ví dụ về Vị từ
public class Main { public static void main(String args[]) { List<Integer> numList = new ArrayList<>(); numList.add(5); numList.add(10); Predicate<Integer> pred = i -> i > 5; numList.stream().filter(pred).forEach(i -> System.out.println(i)); } }
Ví dụ về Hàm
public class Main { public static void main(String args[]) { List<Integer> numList = new ArrayList<>(); numList.add(78); numList.add(10); Function<Integer, Integer> fun = i -> i / 2; numList.stream().map(fun).forEach(System.out::println); } }