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方法,按照预定实现形式输出结果。

相关推荐
计算机-秋大田1 分钟前
基于Spring Boot的兴顺物流管理系统设计与实现(LW+源码+讲解)
java·vue.js·spring boot·后端·spring·课程设计
计算机小白一个12 分钟前
蓝桥杯 Java B 组之背包问题、最长递增子序列(LIS)
java·数据结构·蓝桥杯
二十雨辰39 分钟前
[Java基础]网络编程
java·开发语言
ACGkaka_43 分钟前
抓包工具(三)Wireshark代理抓包Java程序的HTTPS请求
java·https·wireshark
Struggle Sheep1 小时前
容器化部署tomcat
java·tomcat
M1A11 小时前
Python语言发展史:从创立到成为全球热门
java
爱吃南瓜的北瓜2 小时前
Maven之jjwt依赖爆红
java·pycharm·maven
土豆儿@2 小时前
java之泛型
java·开发语言
橘猫云计算机设计2 小时前
基于SSM的《计算机网络》题库管理系统(源码+lw+部署文档+讲解),源码可白嫖!
java·数据库·spring boot·后端·python·计算机网络·毕设
菜鸟一枚在这3 小时前
深度解析建造者模式:复杂对象构建的优雅之道
java·开发语言·算法