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

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.lqws.cn/news/94753.html

相关文章:

  • 登高架设作业实操考试需要注意哪些安全细节?
  • Docker 镜像深度剖析:构建、管理与优化
  • 基于langchain的简单RAG的实现
  • AXURE安装+汉化-Windows
  • Axure形状类组件图标库(共8套)
  • jenkins结合gitlab实现CI
  • 详解开漏输出和推挽输出
  • Apache Doris 在数据仓库中的作用与应用实践
  • pikachu靶场通关笔记12 XSS关卡08-XSS之htmlspecialchars(四种方法渗透)
  • 奥威BI+AI数据分析:企业数智化转型的加速器
  • HTTP Error 400 Bad request 问题分析解决
  • 【前端并发请求控制:必要性与实现策略】
  • 如何进行页面前端监控
  • 手摸手还原vue3中reactive的get陷阱以及receiver的作用
  • SpringBoot3.2新特性:JdbcClient
  • web攻防之SSTI 注入漏洞
  • Windows 下部署 SUNA 项目:虚拟环境尝试与最终方案
  • 【从0-1的HTML】第2篇:HTML标签
  • Double/Debiased Machine Learning
  • 从仿射矩阵得到旋转量平移量缩放量
  • 【氮化镓】GaN HMETs器件物理失效分析进展
  • 【Java Web】7.事务管理AOP
  • 下载并运行自制RAG框架
  • PyTorch——线性层及其他层介绍(6)
  • Apache Iceberg 如何实现分布式 ACID 事务:深度解析大数据时代的可靠数据管理
  • Java面试八股--07-项目篇
  • 极智项目 | 基于PyQT+Whisper实现的语音识别软件设计
  • 从一堆数字里长出一棵树:中序 + 后序构建二叉树的递归密码
  • 懒猫微服进阶心得(五):使用懒猫微服做Ventoy启动盘
  • ArrayList 类