方法引用与 lambda 表达式

2023-12-19

我想用下面示例中的方法引用替换 lambda 表达式:

 public class Example {

        public static void main(String[] args) {
            List<String> words = Arrays.asList("toto.", "titi.", "other");
         //lambda expression in the filter (predicate)
            words.stream().filter(s -> s.endsWith(".")).forEach(System.out::println);
        }
   }

我想写一个这样的东西:

words.stream().filter(s::endsWith(".")).forEach(System.out::println);

是否可以将任何 lambda 表达式转换为方法引用。


没有办法“将任何 lambda 表达式转换为方法引用”,但您可以为特定目标类型实现工厂,如果这满足经常性的需求:

public static <A,B> Predicate<A> bind2nd(BiPredicate<A,B> p, B b) {
    return a -> p.test(a, b);
}

有了这个,你可以写

words.stream().filter(bind2nd(String::endsWith, ".")).forEach(System.out::println);

但实际上,并没有什么优势。从技术上讲,lambda 表达式完全符合您的要求,有最少的必要参数转换代码,表示为 lambda 表达式的主体,编译为合成方法和对该合成代码的方法引用。语法
s -> s.endsWith(".")也已经是表达该意图的最小语法。我怀疑您能否找到一个仍然与 Java 编程语言的其余部分兼容的更小的构造。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

方法引用与 lambda 表达式 的相关文章

  • Java 访问被拒绝

    C Program Files x86 Java jdk1 6 0 17 bin gt javac VendingMachine java VendingMachine java 27 error while writing Vending
  • JaxB2Marshaller 未将 XML 绑定到 Kotlin 数据类

    我正在编写一个批处理作业来解析 XML 提取字段并将它们保存在数据库中 解析 XML 时 它会选取 2 个根元素 但将所有字段保留为空 因此在我的数据库中 我有 2 条记录将为空字段 似乎无法弄清楚为什么它无法读取元素 TIA Bean f
  • Java 中具有级别顺序插入的完整二叉搜索树

    我们接到一个任务 需要编码 二叉搜索树 那个树has to be complete not perfect 这意味着所有不在最低级别或次低级别的节点都应该有 2 个子节点 而最低级别的节点应尽可能远离左侧 我们需要插入到树中等级顺序 所以如
  • Jersey 客户端异步 POST 请求不等待响应

    我创建了一个简单的 Jersey 客户端 它能够成功地使用有效负载执行 POST 请求 但现在它正在等待来自 http 端点的响应 public void callEndpoint String endpoint String payloa
  • Java Swing 自定义形状(2D 图形)

    我需要绘制自定义形状 现在 当用户单击面板上的几个点时 我使用多边形创建一个形状 public void mouseClicked MouseEvent e polygon addPoint e getX e getY repaint 但我
  • 创建UML图时应该编写构造函数吗?

    我有一项作业要求我为实际的 Java 程序创建 UML 图 但程序中有几个构造函数方法 我很困惑 我是否应该将这些构造函数方法添加到图中 根据 UML 规范 2 5 版第 11 4 4 节 构造函数是一个具有所属类类型的单个返回结果参数的操
  • 在Java中打印时差最惯用的方法是什么?

    我熟悉以毫秒为单位的打印时间差 long time System currentTimeMillis do something that takes some time long completedIn System currentTime
  • 使用 GSON 将 JSON 字符串转换为 Java 对象

    我正在尝试将 json 解析为 java 根据 jsonlint com 我有以下字符串 该字符串是有效的 json private final static String LOC JSON lat1 39 737567 lat2 32 7
  • Spring Hibernate中的@Transient方法调用

    我有一个 Pojo 类 在其中创建一个未与数据库表映射的字段 所以我必须声明字段Declaration和setter和getter方法 Transient 否则会显示错误 Transient private String docHistor
  • 使用 testcontainer 作为 Dockerfile 的一部分运行测试

    我的 dockerfile 看起来像这样 FROM maven 3 jdk 11 slim COPY pom xml COPY src src RUN mvn clean install 这意味着构建的一部分是单元测试的执行 一些单元测试使
  • 解析XML文件以获取所有命名空间信息

    我希望能够从给定的 XML 文件中获取所有名称空间信息 例如 如果输入 XML 文件类似于
  • Android 自定义相机 - 在矩形内裁剪图像

    我有一个自定义相机应用程序 它有一个居中的矩形视图 如下所示 当我拍照时 我想忽略矩形之外的所有内容 该视图与我的 XML 视图中的 Camera Preview 或 SurfaceView 没有任何联系 如下所示
  • 使用 Swift 在 iOS 和 Android 之间共享核心代码

    我想要的是 使用 Swift 在 Android 和 iOS 之间共享非 UI 代码 问题 Android 具有 NDK 支持 允许您使用 Java 本机接口 JNI 运行 C 和 C 代码 不是 Objective C 我是一名Java程
  • JavaFX颜色选择器的语言

    有没有办法改变语言ColorPicker的文本 例如 自定义颜色 当前颜色 新颜色 色相 饱和度 亮度 不透明度 保存 使用 取消 编辑 以下答案适合那些需要更多内容的人exotic语言 如果您使用其中之一 de es fr it ja k
  • 从java小程序获取正确的本地IP地址

    我想从我的 java 小程序确定本地 IP 地址 问题是当同一台机器上有多个 IP 地址时 该机器具有 LAN 和互联网连接 掌上电脑 VMWare 这是我的测试 public static void main String args tr
  • Spring MVC 和复选框

    我正在使用 Spring MVC 3 0 并且不能完全看到这个问题的所有部分 我的控制器将生成一个域对象列表 假设有一个简单的 User 对象 具有firstName lastName age 和role 属性 我想在表中输出该用户列表 每
  • 在 Groovy 中将整数转换为 BigDecimal

    假设我们有一个 groovy 函数作为参数BigDecimal void func BigDecimal bd 并在 groovy 的其他课程中再次调用它var func 0 这工作正常 但在 java 中它根本无法编译 我知道有一个构造函
  • java银行程序帐户ID不上去?

    每次创建银行帐户时 帐户 ID 都应增加 1 但每次我尝试提取 Id 时 我只会得到帐户 ID 为 0 任何建议 因为我完全按照我学习的书中的方式进行操作而且它仍然没有更新 帐户构造函数 public class BankAccount p
  • 将菜单添加到空活动

    我在 Android Studio 中制作了一个 Android 应用程序 并想在其上创建一个选项菜单 我将其创建为一个空活动 现在意识到我最好创建一个空白活动来获取选项菜单 无论如何 是否可以在空活动中创建选项菜单 如果有人能给我指出一个
  • 无法以联觉方式绘制像素、Pi 数

    我想将 pi 数字的每个数字打印为彩色像素 因此 我得到一个带有 pi 数字的输入 然后将其解析为一个列表 每个节点包含一个数字 我知道 稍后我将使用一个数组 但我从来没有把它画到屏幕上 有人能帮我看看我错在哪里吗 import java

随机推荐

  • 如何在设备处于横向时拍摄人像照片

    I am making a rather specialist camera app for a device which is physically always going to be held in a landscape orien
  • 读取 pom.xml 中的属性文件时出错

    我有一个示例属性文件 如下所示 样本 属性 language English site www google com login Login 我使用以下插件和目标将属性文件调用到我的 pom xml 中 属性 maven 插件和 读取项目属
  • 如何在chrome扩展中使用exportFunction?

    exportFunction function var document oldContentDocumentGetter call this if document interceptWindow document defaultView
  • 如何将库添加到 testImplementation 和 androidTestImplementation

    两者的 kotlin 库test and android tests 单元测试和 UI 测试 如果我将以下两行写为 build gradle 的一部分 它就可以正常工作 我的问题是 这是添加在测试和 Android 测试中使用的库的正确方法
  • Fisher 测试错误:LDSTP 太小

    input NN lt c 359 32 JJ lt c 108 13 NNS lt c 103 15 VBN lt c 95 9 RB lt c 63 11 NNP lt c 56 0 VBG lt c 55 10 IN lt c 38
  • 跳过 reStructuredText 中的标题级别

    是否可以通过某种方式跳过 RestructedText 中的标题级别 例如 给定 PART Chapter Section Subsection Subsubsection Paragraph Another section Another
  • SSN 的正则表达式 [重复]

    这个问题在这里已经有答案了 我在 C 中有一个方法 它表示 FormatSSN 接受字符串格式的 SSN 并替换破折号 我的意思是我希望 SSN 的格式为 XXX XX XXXX 我想编写一个正则表达式来确保 SSN 采用我提到的格式 谁能
  • 如何获取http.Request中的URL

    我建立了一个 HTTP 服务器 我使用下面的代码来获取请求 URL 但它没有获取完整的 URL func Handler w http ResponseWriter r http Request fmt Printf Req s s r U
  • 图像在 PictureBox 中旋转

    正如问题所暗示的 当我将图像加载到图片框 使用对话框 中时 它不会以其原始外观显示 在此屏幕截图中 左侧的图像是我加载到图片框 右侧 中的图像 Trying to know what causes this I draw an image
  • 我*必须*在 Silverlight WCF 客户端中使用 ObservableCollection 吗?

    当在 WCF 中访问 Silverlight 时 您会得到生成的代理可观察集合 http sweux com blogs psampaio index php 2009 04 28 an introduction to observable
  • 将 JSON 字符串转换为 HashMap

    我正在使用 Java 并且我有一个 JSON 字符串 name abc email id email protected cdn cgi l email protection email protected cdn cgi l email
  • 谷歌地图中的标记掉落事件?

    当用户在地图上放置标记时 我需要触发一个事件 我有代码可以让他们删除标记 但我不知道如何触发该事件 有小费吗 通过标记事件拖拽 您可以获得标记放置位置的纬度 这是你需要的吗 google maps event addListener Mar
  • 如何将 Access 数据库中的所有表导出到 Excel - 每个表一个工作表

    我有一个包含约 30 个表的 Access 数据库 如何将所有 30 个表格导出到 Excel 工作簿中的单独工作表中 我希望找到一些可以从 Access 中运行的 VBA VBS 代码来完成此任务 有任何想法吗 你应该能够做这样的事情 D
  • 删除两个方向的 n 行以及 sed 中的匹配项?

    在运行之前删除匹配项和两行 sed i bak e match 2d someCommonName txt 运行后删除匹配项和两行 sed i bak e match 2d someCommonName txt 但是删除匹配项 其后两行和其
  • WriteAsync 超时

    我尝试编写一个带有超时的简单异步写入代码 如下所示 并期望该函数在给定非常大的缓冲区和较小的 waitTime 的情况下抛出 TaskCanceledException 然而 这并没有发生 WriteAsync 将阻塞很多秒 直到写入完成
  • 哪个队列与 requestAnimationFrame 关联?

    今天我在接受采访时被问到这个问题 我无法回答这个问题 面试官说有一个特殊的队列用于 requestAnimationFrame 回调 但我找不到任何这方面的信息 如果 rAF 有它自己的队列 那么为什么这个队列从未在任何地方被提及 当我们谈
  • Swift:呈现主要和替代(登录/入门)流程时出现视觉故障? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个应用程序需要用户登录或创建帐户第一次启动应用程序时 虽然一般不建议这样做 但这是一个非常具体的用例 此外 如果他们已经登录 当
  • 有人能够在 python 中使用 poppler new_from_data 吗?

    使用Python3和Poppler 我可以毫无问题地使用new from file加载文件 但是new from data有问题 这是显然是一个简单测试的代码 因为从文件读取然后使用 new from data 没有意义 因为 new fr
  • 在分组依据查询中包含缺失的月份

    我想我这里有一个艰难的人 我试图按月获取订单数 即使为零 这是问题查询 SELECT datename month OrderDate as Month COUNT OrderNumber AS Orders FROM OrderTable
  • 方法引用与 lambda 表达式

    我想用下面示例中的方法引用替换 lambda 表达式 public class Example public static void main String args List