当前位置: 首页 > news >正文

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)

三、使用举例

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

相关文章:

  • 浪潮信息云峦服务器操作系统KeyarchOS体验与实践
  • TensorFlow实战教程(二十八)-Keras实现BiLSTM微博情感分类和LDA主题挖掘分析
  • Flutter笔记:Matrix4矩阵变换与案例
  • 【前端】vue中合并表格行
  • MySQL 8.2 Command Line Client打开时一闪而过闪退问题
  • Vue 3.0 中重置 reactive 定义的响应式对象数据,恢复为初始值
  • 智能指针(Newbie Note)
  • 基于区域划分的GaN HEMT 准物理大信号模型
  • 第六章 SELinux
  • Golang http 请求如何设置代理
  • harmonyOS鸿蒙开发工具下载安装以及使用流程
  • 9、鸿蒙应用桌面图标外观和国际化
  • VMware三种网络模式
  • Ubuntu设设置默认外放和麦克风设备
  • Java虚拟机(JVM)的调优技巧和实战
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • CSS魔法堂:Absolute Positioning就这个样
  • django开发-定时任务的使用
  • docker容器内的网络抓包
  • go append函数以及写入
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript 基础知识 - 入门篇(一)
  • Javascript编码规范
  • Java到底能干嘛?
  • 闭包--闭包作用之保存(一)
  • 前端_面试
  • 如何胜任知名企业的商业数据分析师?
  • linux 淘宝开源监控工具tsar
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #git 撤消对文件的更改
  • #QT(串口助手-界面)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (三)elasticsearch 源码之启动流程分析
  • (新)网络工程师考点串讲与真题详解
  • (转)四层和七层负载均衡的区别
  • (转载)Linux 多线程条件变量同步
  • *2 echo、printf、mkdir命令的应用
  • .NET 4.0中的泛型协变和反变
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core 2.1路线图
  • .NET Core跨平台微服务学习资源
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET 中的轻量级线程安全
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .net反编译工具
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • /bin/bash^M: bad interpreter: No such file or directory
  • @Autowired @Resource @Qualifier的区别
  • [ IO.File ] FileSystemWatcher