java8--- Predicate 意义 代码
2024-09-01 23:51:46
//为了去除 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 {
}
最新文章
- 京东招聘Java开发人员
- 想一想social VR might just work
- winrt控件
- wp 处理方法
- C语言每日一题之No.1
- PHP 获取网页301|302真实地址
- Test log4net
- shell调试选项
- 主席树总结(经典区间第k小问题)(主席树,线段树)
- 在Unix系统中,主存索引节点和辅存索引节点从内容上比较有什么不同,为什么要设置主存索引节点?
- 【转载】word2vec原理推导与代码分析
- 【python】python2.x中的除法
- C# 字符串操作基本过程(Equals、Compare、EndsWith等处理方法)
- SP14932 【LCA - Lowest Common Ancestor】
- SharePreference 注册 registerOnSharedPreferenceChangeListener 无法回调的问题
- iText使用经历
- mysql更新(三)语句 库的操作 表的操作
- 用MVC5+EF6+WebApi 做一个考试功能(五) 前端主题
- Linux内存初始化(二)identity mapping和kernel image mapping
- 20155230 2016-2017-2《Java程序设计》第一周学习总结