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

Java复习Day26

Lambda表达式简介

Lambda表达式是Java 8的重要特性,允许使用简洁的表达式代替功能接口。它类似于方法,包含参数列表和执行主体(可以是表达式或代码块)。Lambda可以视为匿名内部类的语法糖,也被称为闭包。

优点

  • 代码简洁,开发效率高
  • 支持函数式编程
  • 简化过滤和计算操作
  • 优化集合类操作

缺点

  • 代码可读性降低
  • 调试难度增加
  • 在非并行计算中性能可能不如传统for循环

Lambda语法

基本语法:

(parameters) -> expression
(parameters) -> {statements;}

组成结构:

  1. parameters:类似方法的形参列表,可以显式声明类型或由JVM推断
  2. ->:表示"被用于"
  3. 方法体:可以是表达式或代码块,可返回值或不返回值

JDK核心函数式接口

四大核心接口

接口名类型抽象方法
Consumer<T>消费型接口void accept(T t)
Supplier<T>供给型接口T get()
Function<T,R>函数型接口R apply(T t)
Predicate<T>断言型接口boolean test(T t)

其他常用接口

接口名类型抽象方法
BiConsumer<T,U>消费型接口void accept(T t,U u)
BiFunction<T,U,R>函数型接口R apply(T t,U u)
UnaryOperator<T>函数型接口T apply(T t)
BinaryOperator<T>函数型接口T apply(T t,T t1)
ToIntFunction<T>函数型接口int applyAsInt(T t)
ToDoubleFunction<T>函数型接口double applyAsDouble(T t)
IntFunction<R>函数型接口R apply(int i)
DoubleFunction<R>函数型接口R apply(double d)

方法引用

当Lambda表达式中的功能已有方法实现时,可以使用方法引用。要求参数列表和返回值类型与函数式接口的抽象方法一致。

语法格式:

  • 静态方法引用:类名::静态方法名
  • 实例方法引用:实例对象名::实例方法名
  • 特殊方法引用:类名::实例方法名
  • 构造方法引用:类名::new
  • 数组引用:数组类型[]::new
  • this和super引用:this::方法名 / super::方法名
http://www.xdnf.cn/news/10741.html

相关文章:

  • 2025年微信小程序开发:AR/VR与电商的最新案例
  • windows修改跃点数调整网络优先级
  • Leetcode - 周赛 452
  • 帝可得- 人员管理
  • vue+cesium示例:地形开挖(附源码下载)
  • 进程——环境变量及程序地址空间
  • vscode配置lua
  • React从基础入门到高级实战:React 高级主题 - React 微前端实践:构建可扩展的大型应用
  • Ubuntu 系统部署 MySQL 入门篇
  • 本地部署开源防病毒引擎 ClamAV 并实现外部访问(Windows 版本)
  • 研发型企业如何面对源代码保密问题
  • 不动产登记区块链系统(Vue3 + Go + Gin + Hyperledger Fabric)
  • 焊缝缺陷焊接缺陷识别分割数据集labelme格式5543张4类别
  • Neo4j 数据可视化与洞察获取:原理、技术与实践指南
  • 便捷高效能源服务触手可及,能耗监测系统赋能智能建筑与智慧城市
  • 12、企业应收账款(AR)全流程解析:从发票开具到回款完成
  • 【Web应用】若依框架:基础篇13 源码阅读-前端代码分析
  • MySQL 8 完整安装指南(Ubuntu 22.04)
  • 【论文解读】ReAct:从思考脱离行动, 到行动反馈思考
  • winrm登录失败,指定的凭据被服务器拒绝
  • Bash shell四则运算
  • 【Elasticsearch】search_after不支持随机到哪一页,只能用于上一页或下一页的场景
  • 涨薪技术|0到1学会性能测试第95课-全链路脚本开发实例
  • https(SSL)证书危机和可行的解决方案
  • 香橙派3B学习笔记6:基本的Bash脚本学习_UTF-8格式问题
  • QT常用控件(1)
  • SpringBoot接入Kimi实践记录轻松上手
  • 鸿蒙简易版影视APP案例实战
  • Attention Is All You Need (Transformer) 以及Transformer pytorch实现
  • 软件评测师 综合测试 真题笔记