java8--- Predicate 意义 代码
Posted 雪洗中关村
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java8--- Predicate 意义 代码相关的知识,希望对你有一定的参考价值。
//为了去除 DiyInterface 这个函数式接口,可以用通用函数式接口 Predicate 替代如下: https://blog.csdn.net/u011848397/article/details/89074794 public class People2{ private List<Person> persons= new ArrayList<>(); public List<Person> getMaleList(Predicate<Person> predicate) {//通用函数式接口 List<Person> res = new ArrayList<>(); persons.forEach(person -> { if (predicate.test(person)) {//调用 Predicate 的抽象方法 test res.add(person); } }); return res; } } //还原: interface DiyInterface { boolean test(Person person); } public class People { private List<Person> persons= new ArrayList<Person>(); public List<Person> getMaleList(DiyInterface filter) {//自定义函数式接口 List<Person> res = new ArrayList<>(); persons.forEach((Person person) -> { if (filter.test(person)) { //调用 PersonInterface 的方法 res.add(person); } }); return res; } } public class Person { }
以上是关于java8--- Predicate 意义 代码的主要内容,如果未能解决你的问题,请参考以下文章