System.out::println 的 Lambda 表达式等价物是什么?
Nov 03, 2024 pm 03:16 PM探索 System.out::println 等价的 Lambda 表达式
Java 的方法引用语法提供了一种简洁且可读的方法来引用方法。在给定的示例中,方法引用 System.out::println 用作 forEach 方法的参数。
理解方法引用
方法引用 System .out::println 表示应使用 System.out 引用的对象来调用 println 方法。在本例中,System.out 是 System 类的静态成员,表示标准输出流。
等效 Lambda 表达式
System.out 的等效 lambda 表达式。 out::println 将为:
<code class="java">o -> System.out.println(o)</code>
此 lambda 表达式首先计算 System.out,捕获计算值,然后创建一个 lambda 函数。此 lambda 函数采用参数 o 并在捕获的 System.out 对象上调用 println 方法,将 o 的值打印到标准输出。
精确等效 Lambda 表达式
但是,值得注意的是,完全等效于 System.out::println 需要执行以下步骤:
-
将求值的 System.out 对象存储在变量中:
<code class="java">PrintStream p = Objects.requireNonNull(System.out);</code>
登录后复制 -
在 lambda 表达式中使用存储的变量:
<code class="java">numbers.forEach(o -> p.println(o));</code>
登录后复制
这完全相同确保对 System.out 的任何更改都不会影响lambda 表达式的行为。
以上是System.out::println 的 Lambda 表达式等价物是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

热门文章

热门文章

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

2025年的前4个JavaScript框架:React,Angular,Vue,Svelte

如何将Maven或Gradle用于高级Java项目管理,构建自动化和依赖性解决方案?

如何将JPA(Java持久性API)用于具有高级功能(例如缓存和懒惰加载)的对象相关映射?

如何使用咖啡因或Guava Cache等库在Java应用程序中实现多层缓存?
