java_函数式接口

文章目录

一、什么是函数式接口

  • 如果一个接口只有一个抽象方法,那么该接口就是一个函数式接口
  • 函数式接口的实例可以通过 lambda 表达式 、方法引用 或者构造方法引用来创建
  • 如果我们在某个接口上声明了 @FunctionalInterface 注解,那么编译器就会按照函数式接口的定义来要求该接口

二、四大核心函数式接口

函数式接口 称谓 参数类型 用途
Consumer<T> 消费型接口 T 对类型为T的对象应用操作,包含方法: void accept(T t)
Supplier<T> 供给型接口 无 返回类型为T的对象,包含方法:T get()
Function<T, R> 函数型接口 T 对类型为T的对象应用操作,并返回结果。结果是R类型的对象。包含方法:R apply(T t)
Predicate<T> 判断型接口 T 确定类型为T的对象是否满足某约束,并返回 boolean 值。包含方法:boolean test(T t)

三、使用举例

java 复制代码
public class One {

    public static void main(String[] args) {
        consumMoney(2000,x-> System.out.println("这个手机是:"+x+"元"));
    }

    public static void consumMoney(int money, Consumer consumer){
        consumer.accept(money);
    }

}

结果:

在上述例子中,main方法中调用了consumMoney方法,传入了两个参数;consumer的实现形式 就是x-> System.out.println("这个手机是:"+x+"元"),即:传入一个参数x,然后拼接输出。在consumMoney方法中调用accept方法,按照预定实现形式输出结果。

相关推荐
小羊没烦恼!5 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里5 天前
java中的继承和多态的区别
java
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕5 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码5 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖5 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时5 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang5 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi5 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号5 天前
java函数式编程--入门基础
java·编程·函数式编程