+1 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)
برچسب گذاری دوباره قبل توسط

بسیاری از متد های مربوط به Java 8 Stream API مثل filter پارامتری از نوع اینترفیس Predicate می گیرند، اینترفیس Predicate چیست و چه کاربردی دارد؟

1 پاسخ

+3 امتیاز
قبل توسط (140 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

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));
      }      
  }    
}

 

سوالات مشابه

0 امتیاز
0 پاسخ 919 بازدید
0 امتیاز
0 پاسخ 687 بازدید
+1 امتیاز
1 پاسخ 627 بازدید
+1 امتیاز
1 پاسخ 524 بازدید
+1 امتیاز
1 پاسخ 1.5هزار بازدید
0 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 588 بازدید
+2 امتیاز
1 پاسخ 986 بازدید
0 امتیاز
0 پاسخ 333 بازدید
...