当前位置: 首页 > 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.xdnf.cn/news/1229077.html

相关文章:

  • 【AI】AIService(基本使用与指令定制)
  • 操作系统:远程过程调用( Remote Procedure Call,RPC)
  • 公网服务器上Nginx或者Openresty如何屏蔽IP直接扫描
  • java中的synchronized关键字​
  • 福彩双色球第2025088期篮球号码分析
  • PyTorch 张量核心操作——比较、排序与数据校验
  • 利用DeepSeek将Rust程序的缓冲输出改写为C语言实现提高输出效率
  • 深入 Go 底层原理(十五):cgo 的工作机制与性能开销
  • 探索:Uniapp 安卓热更新
  • 【Android】RecyclerView实现新闻列表布局(1)适配器使用相关问题
  • 原生JS使用svg-pan-zoom库平移和缩放svg
  • 八股取士--docker
  • 【C++】第二十一节—一文详解 | 红黑树实现(规则+效率+结构+插入+查找+验证)
  • Day18--二叉树--530. 二叉搜索树的最小绝对差,501. 二叉搜索树中的众数,236. 二叉树的最近公共祖先
  • 【MQ】kafka同步和异步的区别
  • 函数指针——回调函数
  • MybatisPlus-逻辑删除
  • Redis核心机制与实践深度解析:从持久化到分布式锁
  • 江协科技STM32 13-1 PWR电源控制
  • AG32mcu通过寄存器方式操作cpld
  • 3 使用 Jenkins 构建镜像:将你的应用打包成镜像
  • sqli-labs:Less-18关卡详细解析
  • 【隧道篇 / IPsec】(7.6) ❀ 02. 如何删除向导创建的IPsec安全隧道 (点对点) ❀ FortiGate 防火墙
  • K8S部署ELK(三):部署Elasticsearch搜索引擎
  • Java基础——实现图书管理系统交互功能
  • java实现运行SQL脚本完成数据迁移
  • String boot 接入 azure云TTS
  • 【深度学习②】| DNN篇
  • Python 字典为什么查询高效
  • Python编程基础与实践:Python基础数据类型入门