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

相关推荐
_codemonster17 小时前
JSP 、Thymeleaf 、 JavaScript 和Vue
java·javascript·vue.js
Devin~Y17 小时前
大厂Java面试实录:Spring Boot微服务 + Redis缓存 + Kafka消息队列 + Prometheus链路追踪 + RAG向量检索
java·spring boot·redis·spring cloud·kafka·rabbitmq·spring mvc
Oj92q85H517 小时前
如何在Dev-C++中设置TDM-GCC为默认编译器
java·jvm·c++
逸Y 仙X17 小时前
文章二:Elasticsearch跨集群能力探查
java·大数据·服务器·elasticsearch·搜索引擎·全文检索
阿标在干嘛17 小时前
政策快报如何让推荐准确率从8%提升到16%?画像系统实践
java·大数据·人工智能
Miss roro17 小时前
企业合同管理系统选型的核心维度:功能完整性、协作效率与安全合规
java·数据库·安全·法律科技
JAVA社区17 小时前
Java进阶全套教程(一)—— 数据框架Mybatis详解
java·开发语言·面试·职场和发展·mybatis
JAVA学习通17 小时前
《大营销平台系统设计实现》 - 营销服务 第10节:不超卖库存规则实现
java·数据库·oracle·责任链模式·codex
qq_25183645717 小时前
基于java 安卓-RSS阅读系统毕业论文
android·java·开发语言
lili001217 小时前
Gemini 3.5发布后的AI格局:谷歌重新定义行业标准
java·人工智能·python·ai编程