predicate یک functional interface در جاوا 8 است که در lambda expression ها کاربرد دارد و مقدار Boolean برمی گرداند. هنگامی که یک آبجکت به عنوان ورودی به آن داده میشود توسط lambda expression بررسی شده و خروجی true یا false برمی گرداند به عنوان مثال :
package com.concretepage.function;
import java.util.function.Function;
import java.util.function.Predicate;
public class PredicateDemo {
public static void main(String[] args){
Predicate<Student> maleStudent = s-> s.age >= 20 && "male".equals(s.gender);
Predicate<Student> femaleStudent = s-> s.age > 15 && "female".equals(s.gender);
Function<Student,String> maleStyle = s-> "Hi, You are male and age "+s.age;
Function<Student,String> femaleStyle = s-> "Hi, You are female and age "+ s.age;
Student s1 = new Student(21,"male");
if(maleStudent.test(s1)){
System.out.println(s1.customShow(maleStyle));
}else if(femaleStudent.test(s1)){
System.out.println(s1.customShow(femaleStyle));
}
}
}