一、Consumer:消费型接口(void accept(T t))

举一个例子

public class LambdaTest {
@Test
public void test() {
happyTime(500, new Consumer<Double>() {
@Override
public void accept(Double aDouble) {
System.out.println("快乐的时光总是短暂!");
}
});
} public void happyTime(double money, Consumer<Double> con){
con.accept(money);
}
}
// 定义了一个happyTime方法,该方法接收一个函数式接口(只含有一个抽象方法的接口,这里就是accept)
// java8以前我们用匿名内部类
public class LambdaTest {
@Test
public void test() {
happyTime(500, money -> System.out.println("快乐的时光总是短暂"));
} public void happyTime(double money, Consumer<Double> con){
con.accept(money);
}
}
// 这里采用lambda的写法, 首先要明白,happyTime的第二个参数,是一个函数式接口,实际在传入的时候要传入该接口的实现类的对象,这里采用lambda表示式实现
//为何在happyTime中要调accept()方法?
// 在调用happyTime()方法的时候,执行到con.accept(money);这一步
// 其实就是该接口实现类重写了该方法,然后调该实现类对象的方法即可
// 结合两种写法:可以看到也就是执行System.out.println("快乐的时光总是短暂!");这一句
//这一句就是接口实现类的重写accept方法的方法体
二、其余三大内置函数接口,及衍生接口与这差不多,不再说了!

java内置的四大函数式接口的更多相关文章

  1. Java8新特性 - Java内置的四大核心函数式接口

    Java内置的四大核心函数式接口 Consumer:消费型接口 对类型为T的对象应用操作,包含方法:void accept(T t) public class TestLambda02 { publi ...

  2. JDK8新特性03 Lambda表达式03_Java8 内置的四大核心函数式接口

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.functio ...

  3. Java8内置的四大核心函数式接口

    package java_8; import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import j ...

  4. JAVA内置注解 基本注解

    温故而知新,可以为师矣! 每天复习,或者学习一点小东西,也能水滴石穿! 今天复习5个JAVA内置基本注解(贴代码胜过千言万语): package com.lf.test; import java.ut ...

  5. 第46天学习打卡(四大函数式接口 Stream流式计算 ForkJoin 异步回调 JMM Volatile)

    小结与扩展 池的最大的大小如何去设置! 了解:IO密集型,CPU密集型:(调优)  //1.CPU密集型 几核就是几个线程 可以保持效率最高 //2.IO密集型判断你的程序中十分耗IO的线程,只要大于 ...

  6. java内置线程池ThreadPoolExecutor源码学习记录

    背景 公司业务性能优化,使用java自带的Executors.newFixedThreadPool()方法生成线程池.但是其内部定义的LinkedBlockingQueue容量是Integer.MAX ...

  7. 设计模式 - 观察者模式(Observer Pattern) Java内置 用法

    观察者模式(Observer Pattern) Java内置 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26601659 ...

  8. java8中规范的四大函数式接口

    java8中规范的四大函数式接口: 1.Consumer<T>   :消费型接口    void accept(T t); 2.Supplier<T>      :供给型接口  ...

  9. JUC(7)四大函数式接口

    文章目录 1.四大函数式接口(必须掌握) 1.1 function 1.2 Predicate 1.3 Consumer 1.4 Supplier 1.四大函数式接口(必须掌握) 1.lambda表达 ...

随机推荐

  1. GO语言开发之路

    Go语言开发之路 介绍 为什么学习Go语言? 开发环境准备 从零开始搭建Go语言开发环境 VS Code配置Go语言开发环境 基础 Go语言基础之变量和常量 Go语言基础之基本数据类型 Go语言基础之 ...

  2. django-配置静态页面-celery/redis/nginx

    celery生成静态页面 celery_tasks/tasks.py # 生成静态首页 from django.template import loader, RequestContext # tem ...

  3. janusgraph单机版安装

    注:本次安装janusgraph基于es和hbse,所以先安装es和hbase 1.安装jdk 2.安装janusgraph 解压安装文件至/usr/janusgraph-0.3.1 unzip ja ...

  4. ccf算法模板

    bellman ford 算法求最短路径 #include <iostream> using namespace std; ; ; // 边, typedef struct Edge{ i ...

  5. Joint Approximative Diagonalization of Eigen matrix (JADE)

    特征矩阵联合相似对角化算法[1]. Cardoso于1993年提出的盲信号分离具有代表性的一种算法.是一种基于四阶累积量特征矩阵近似联合对角化盲分离算法.该算法将目标函数最大化问题等价于一组四阶累积量 ...

  6. 安装python问题

    configure: error: in `/home/wangqianqian/Desktop/Python-3.6.7':configure: error: no acceptable C com ...

  7. omnibus-gitlab 架构学习

    omnibus-gitlab是gitlab 团队fork 自chef 的omnibus 项目,同时做了一些自定义的开发,omnibus-gitlab 简化了 gitlab 的部署以及维护,同时里边集成 ...

  8. 处理kubernetes 一些比较难删除的资源

    kubernetes 提供了force 的命令在我们删除资源的时候,但是很多时候还是不可以的 一般删除资源的处理 命令 kubectl delete <resource> <reso ...

  9. 现有某电商网站用户对商品的收藏数据,记录了用户收藏的商品id以及收藏日期,名为buyer_favorite1。 buyer_favorite1包含:买家id,商品id,收藏日期这三个字段,数据以“\t”分割

    实验内容(mapReduce安装请按照林子雨教程http://dblab.xmu.edu.cn/blog/631-2/) 现有某电商网站用户对商品的收藏数据,记录了用户收藏的商品id以及收藏日期,名为 ...

  10. Mac版微信无法安装之始末

    前言 Mac版微信安装不了...纠结了一周时间 ̄□ ̄||... 今天终于可以登录了(虽然还是没有安装到电脑上,但可以使用了) 因为之前也查了很多,有人遇到,但是没有可以解决我这个问题的方法, 浪费了很 ...