方法引用、构造器引用、数组引用
方法引用
1、方法引用是 Lambda 表达式的简化
2、应用场景:Lambda 体的操作,已经存在实现方法,即存在符合函数式接口定义的抽象方法,不需要重写该方法
3、要求:函数式接口的方法签名(返回类型、形参)与引用函数的方法签名一致
4、分类
语法 | 对应 Lambda 表达式 |
类名::静态方法名 | (args) -> 类名.静态方法名(args) |
对象名::非静态方法名 | (args) -> 对象名.非静态方法名(args) |
类名::非静态方法名 | (对象名, args) -> 对象名.非静态方法名(args) |
(1)(对象名, args) -> 对象名.非静态方法名(args),实际的方法调用者是类的对象,是 (args) -> 类名.静态方法名(args) 的变种
构造器引用
语法 | 对应 Lambda 表达式 |
类名::new | (args) -> new 类名(args) |
1、函数式接口的抽象方法的形参与构造器的形参一致
2、返回数据类型为构造器所属类的类型
3、引用的构造器取决于使用的函数式接口
数组引用
语法 | 对应 Lambda 表达式 |
数据类型[]::new | (length) -> new 数据类型[length] |
1、数组看作特殊的类,相当于一种特殊的构造器引用
2、重写函数式接口中的抽象方法的具体方法,其方法参数需要定义数组的数据类型、长度
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战