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

Java中Lambda 表达式的解释

从 Java 8 开始,Lambda 表达式成为 Java 的一等公民。它不仅让代码更简洁,还为函数式编程打开了大门。如果你还没真正理解或使用过 Lambda,这篇文章就是为你写的。

一、什么是 Lambda 表达式?

Lambda 表达式是 Java 中的一种匿名函数写法,可以把函数作为参数传递。
它的作用就是:用更简洁的方式实现接口中的唯一抽象方法(即函数式接口)。

我觉得需要强调的是:只要这个接口满足 只包含一个抽象方法,就可以是函数式接口,即使它没有加 @FunctionalInterface 注解!!!

二、 基本语法

(参数列表) -> { 方法体 }

常见形式:

示例含义
() -> System.out.println("Hello")无参无返回值
(x) -> x * x单个参数有返回
(a, b) -> a + b多个参数返回结果
(x, y) -> { return x * y; }有代码块时用 {}

三、 使用 Lambda 的前提:函数式接口

Lambda 表达式只能用于函数式接口,即只包含一个抽象方法的接口。

Java 提供了许多常用的函数式接口,比如:

接口方法签名说明
Runnablevoid run()无参无返回值
Consumer<T>void accept(T t)消费一个值
Supplier<T>T get()提供一个值
Function<T,R>R apply(T t)转换/映射值
Predicate<T>boolean test(T t)条件判断

四、Lambda 的代码的示例

List<String> list = Arrays.asList("banana", "apple", "kiwi");// 按字符串长度排序
list.sort((s1, s2) -> s1.length() - s2.length());System.out.println(list); // [kiwi, apple, banana]

http://www.lryc.cn/news/608307.html

相关文章:

  • 机器学习实战:KNN算法全解析 - 从原理到创新应用
  • 机器学习消融实验:方法论演进、跨领域应用与前沿趋势
  • 大模型(五)MOSS-TTSD学习
  • 【MATLAB】(四)函数运算
  • 【MATLAB】(五)向量
  • C语言第八章指针一
  • MybatisPlus生成代码
  • MQTT协议测试环境部署
  • MybatisPlus-自动生成代码
  • 洛谷刷题8.2
  • 【AI学习】RadioDiff:代码学习
  • 福彩双色球第2025088期篮球号码分析
  • Leetcode-141.环形链表
  • 面试-python单例模式实现
  • 谈谈WebAssembly、PWA、Web Workers的作用和场景
  • 【机器学习】两大线性分类算法:逻辑回归与线性判别分析:找到分界线的艺术
  • uniapp倒计时计算
  • InfluxDB 与 Node.js 框架:Express 集成方案(一)
  • Oracle 11g RAC集群部署手册(一)
  • 电力系统分析学习笔记
  • Angular初学者入门第一课——搭建并改造项目(精品)
  • 学习笔记:无锁队列的原理以及c++实现
  • 基于Dockerfile 部署一个 Flask 应用
  • Orange的运维学习日记--25.Linux文件系统基本管理
  • 【BTC】挖矿
  • 优选算法 力扣1089.复写零 双指针 原地修改 C++解题思路 每日一题
  • Git 的基本使用指南(1)
  • Arpg第二章——流程逻辑
  • 自动驾驶中的传感器技术15——Camera(6)
  • 数字化转型驱动中小制造企业的质量管理升级