千家信息网

Java Lambda表达式的方法引用和构造器引用的示例分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Java Lambda表达式的方法引用和构造器引用的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一 点睛如果Lambda表
千家信息网最后更新 2026年10月31日Java Lambda表达式的方法引用和构造器引用的示例分析

Java Lambda表达式的方法引用和构造器引用的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一 点睛

如果Lambda表达式的代码块只有一条代码,还可以在代码块中使用方法引用和构造器引用,以使得Lambda表达式更加简洁。

种类

示例

说明

对应的Lambda表达式

引用类方法

类名::类方法

函数式接口中被实现方法的全部参数传给该类方法作为参数。

(a,b,...) -> 类名.类方法(a,b, ...)

引用特定对象的实例方法

特定对象::实例方法

函数式接口中被实现方法的全部参数传给该方法作为参数。

(a,b, ...) -> 特定对象.实例方法(a,b, ...)

引用某类对象的实例方法

类名::实例方法

函数式接口中被实现方法的第一个参数作为调用者,后面的参数全部传给该方法作为参数。

(a,b, ...) ->a.实例方法(b, ...)

引用构造器

类名::new

函数式接口中被实现方法的全部参数传给该构造器作为参数。

(a,b, ...) ->new 类名(a,b, ...)

二 实战

1 代码

import javax.swing.*;@FunctionalInterfaceinterface Converter{ Integer convert(String from);}@FunctionalInterfaceinterface MyTest{ String test(String a , int b , int c);}@FunctionalInterfaceinterface YourTest{ JFrame win(String title);}public class MethodRefer{ public static void main(String[] args) { // 下面代码使用Lambda表达式创建Converter对象// Converter converter1 = from -> Integer.valueOf(from); // 方法引用代替Lambda表达式:引用类方法。 // 函数式接口中被实现方法的全部参数传给该类方法作为参数。 Converter converter1 = Integer::valueOf; Integer val = converter1.convert("99"); System.out.println(val); // 输出整数99 // 下面代码使用Lambda表达式创建Converter对象// Converter converter2 = from -> "fkit.org".indexOf(from); // 方法引用代替Lambda表达式:引用特定对象的实例方法。 // 函数式接口中被实现方法的全部参数传给该方法作为参数。 Converter converter2 = "fkit.org"::indexOf; Integer value = converter2.convert("it"); System.out.println(value); // 输出2 // 下面代码使用Lambda表达式创建MyTest对象// MyTest mt = (a , b , c) -> a.substring(b , c); // 方法引用代替Lambda表达式:引用某类对象的实例方法。 // 函数式接口中被实现方法的第一个参数作为调用者, // 后面的参数全部传给该方法作为参数。 MyTest mt = String::substring; String str = mt.test("Java I Love you" , 2 , 9); System.out.println(str); // 输出:va I Lo // 下面代码使用Lambda表达式创建YourTest对象// YourTest yt = (String a) -> new JFrame(a); // 构造器引用代替Lambda表达式。 // 函数式接口中被实现方法的全部参数传给该构造器作为参数。 YourTest yt = JFrame::new; JFrame jf = yt.win("我的窗口"); System.out.println(jf); }}

2 运行

992va I Lojavax.swing.JFrame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=我的窗口,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]

关于Java Lambda表达式的方法引用和构造器引用的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

方法 参数 表达式 对象 代码 函数 实例 接口 构造器 类名 示例 分析 问题 输出 更多 用者 帮助 解答 易行 简洁 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 北京路客互联网科技有限公司 为想互联网科技怎么样 万易互联网科技 未来的互联网科技 睿民互联网科技 唐信互联网科技 大连 赫美联合互联网科技 深圳期待互联网科技 深圳卡尔迅互联网科技有限公司怎么样 恒生科技互联网指数分析 深圳互联网科技怎么样 金融科技与互联网金融相同和不同 南平创想时代互联网科技有限公司 成都互联网科技公司工作好不好 东莞新华互联网科技学校 广东鹅鹅鹅互联网科技有限公司 国产互联网科技公司 互联网科技品牌 互联网科技创业计划的风险分析 互联网科技咨询 国外互联网科技网站 小米互联网科技园设置 昭通云南众福互联网科技有限公司 畅思互联网科技 爱医互联网络科技 互联网时代科技型公司的机会 江苏互联网智能科技产品出厂价 西安左小互联网科技有限公司 广州三三互联网科技有限公司
0