Java 8 : Predicate和Consumer接口
1.consumer
jdk 1.8 的 Iterable 接口中的 forEach 默认方法:
public interface Iterable<T> {
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
}
2.
public class PredicateConsumerDemo {
public static void main(String[] args) {
Student stu = new Student(90);
stu = updateStudentFee(stu,
student -> student.grade > 80,
student -> student.discount = 0.2);
System.out.println(stu);
}
public static Student updateStudentFee(Student student, Predicate<Student> predicate, Consumer<Student> consumer){
if ( predicate.test(student)){
consumer.accept(student);
}
return student;
}
}
class Student{
Double discount = 0.0;
Double fee = 20000.0;
Integer grade ;
public Student(Integer grade) {
this.grade = grade;
}
@Override
public String toString() {
return "Student{" +
"discount=" + discount +
", fee=" + fee +
'}';
}
}
Java 8 : Predicate和Consumer接口的更多相关文章
- Predicate和Consumer接口的使用
// Predicate 判断是否拥有资格,Consumer 改变输入的值 案例 public static MyTest2 getV(MyTest2 a, Predicate<MyTe ...
- Predicate接口和Consumer接口
Predicate和Consumer接口是集合操作中常用到的俩个接口: 1.Predicate public interface Predicate<T>{ boolean test(T ...
- java函数式编程之Consumer
参考https://blog.csdn.net/z345434645/article/details/53794724 https://blog.csdn.net/chuji2012/article/ ...
- Java8常用的内置函数式接口(一)Predicate、Consumer、Supplier、Function
Java8常用的内置函数式接口(一) 简介 JDK 1.8 API中包含了很多内置的函数式接口.有些是在以前版本的Java中大家耳熟能详的,例如Comparator接口,或者Runnable接口.对这 ...
- 还不了解一下 Java 8 Predicate 函数接口
同学你好,这里有一份你的未读代码,等你查收. 这篇文章属于 Java 8 教程(LTS)系列教程,点击阅读更多相关文章. Predicate 函数接口同之前介绍的 Function 接口一样,是一个函 ...
- Java常用函数式接口--Consumer接口andThen()方法使用案例(二)
Java常用函数式接口--Consumer接口使用案例
- 一个例子理解Predicate、Consumer和Stream
一个需求: 把年龄大于20的学生的信息打印出来. 面向对象编程 public class Student { private String name; private int age; private ...
- Java学习:常用函数接口
常用函数接口 什么是函数式接口? 函数式接口,@FunctionalInterface,简称FI,简单的说,FI就是指仅含有一个抽象方法的接口,以@Functionalnterface标注 注意:这里 ...
- java 集合框架(二)Iterable接口
Iterable接口是java 集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素,我们可以看下它的成员方法 修饰符和返回值 方法名 描述 Iterator<T> iter ...
随机推荐
- jquery.autocomplete 传参问题
今天遇到一个问题,我需要传一个文本库的内容给后台,然后用autocomplete显示内容,开始觉得很简单 不就是 function SalePrice_Complete(text) { //分割拿到索 ...
- Dom监听组合按键
JS监听组合按键 有些时候,我们需要在网页上,增加一些快捷按键,方便用户使用一些常用的操作,比如:保存,撤销,复制.粘贴等等. 下面简单梳理一下思路: 我们所熟悉的按键有这么集中类型: 单独的按键 ...
- Autofac IoC容器基本实战【2】
原文:http://www.cnblogs.com/liping13599168/archive/2011/07/16/2108209.html Autofac是一款IOC框架,比较于其他的IOC框架 ...
- Thinkphp整合各个功能
thinkphp整合Auth权限管理.支付宝.微信支付.阿里oss.友盟推送.融云即时通讯.云通讯短信.Email.Excel.PDF等等: 基于thinkphp扩展了大量的功能:而不改动thinkp ...
- 经典SQL面试题(转)
http://www.cnblogs.com/kcher90/archive/2013/03/13/2957932.html 有三个表,如果学生缺考,那么在成绩表中就不存在这个学生的这门课程成绩的记录 ...
- JQuery------鼠标双击时,不选中div里面的文字
如图:(去掉选中文字的蓝色背景色) 代码: //方法一:<div class="test" onselectstart="return false" &g ...
- shell脚本学习总结05--变量与环境变量
bash中一切变量都是以字符串的形式存储,env命令可以查看与此终端进程相关的环境变量. man bash 查看一个进程的环境变量 1.获得程序的PID,例如Java# pgrep java23492 ...
- phpcms V9内容页调用标签
1.页面标题:{$title} 2.发表时间:{$inputtime} 3.内容来源:{$copyfrom} 4.文章内容:{$content} 5.缩略图地址:{$thumb} 6.组图列表: {l ...
- 简单深搜:POJ1546——Sum it up
结束了三分搜索的旅程 我开始迈入深搜的大坑.. 首先是一道比较基础的深搜题目(还是很难理解好么) POJ 1564 SUM IT UP 大体上的思路无非是通过深搜来进行穷举.匹配 为了能更好地理解深搜 ...
- 高性能流媒体服务器EasyDSS前端重构(一)-从零开始搭建 webpack + vue + AdminLTE 多页面脚手架
本文围绕着实现EasyDSS高性能流媒体服务器的前端框架来展开的,具体EasyDSS的相关信息可在:www.easydss.com 找到! EasyDSS 高性能流媒体服务器前端架构概述 EasyDS ...