| ⽅法引⽤是⼀种更简洁易懂的lambda表达式,操作符是双冒号::,⽤来直接访问类或者实例 |
| 已经存在的⽅法或构造⽅法 |
| 通过⽅法引⽤,可以将⽅法的引⽤赋值给⼀个变量 |
| 语法:左边是容器(可以是类名,实例名),中间是" :: ",右边是相应的⽅法名 |
| 静态⽅法,则是ClassName::methodName。如 Object ::equals |
| 实例⽅法,则是Instance::methodName |
| 构造函数,则是 类名::new; |
| 单个参数 |
| Function<⼊参1, 返回类型> func = ⽅法引⽤ |
| 应⽤ func.apply(⼊参); |
| 2个参数 |
| BiFunction<⼊参1,⼊参2, 返回类型> func = ⽅法引⽤ |
| 应⽤ func.apply(⼊参1,⼊参2); |
| public class Main { |
| |
| public static void main(String[] args) throws Exception { |
| |
| |
| Function<String, Integer> fun = Integer::parseInt; |
| Integer value = fun.apply("1024"); |
| System.out.println(value); |
| |
| |
| String content = "欢迎来到小滴课堂学习"; |
| Function<Integer, String> func = content::substring; |
| String result = func.apply(1); |
| System.out.println(result); |
| |
| |
| BiFunction<String,Integer,User> biFunction = User::new; |
| User user1 = biFunction.apply("小滴课堂",2); |
| System.out.println(user1); |
| |
| |
| Function<String,User> function = User::new; |
| User user2 = function.apply("小滴课堂"); |
| System.out.println(user2); |
| |
| |
| sayHello(String::toUpperCase,"xdclass.net"); |
| } |
| |
| private static void sayHello(Function<String,String> func,String param){ |
| String result = func.apply(param); |
| System.out.println(result); |
| } |
| |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术