//为了去除 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 {
}

最新文章

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

热门文章

  1. thinkphp之cookie操作
  2. python的xlrd、xlwt模块、openpyxl /pymsql使用
  3. SpringBoot框架(6)--事件监听
  4. 记录下:nth-child在table中遇到的问题~(已解决)
  5. HDU 1097 快速幂
  6. Oracle报Ora01522
  7. wannalfy 挑战赛7 E 珂朵莉与GCD (离线+线段树/树状数组)
  8. 同一个tomcat部署多个项目11
  9. CentOS关闭系统不必要的端口
  10. p3863 序列