展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

⽅法引⽤与构造函数引⽤

  • 简介
⽅法引⽤是⼀种更简洁易懂的lambda表达式,操作符是双冒号::,⽤来直接访问类或者实例
已经存在的⽅法或构造⽅法
通过⽅法引⽤,可以将⽅法的引⽤赋值给⼀个变量
语法:左边是容器(可以是类名,实例名),中间是" :: ",右边是相应的⽅法名
静态⽅法,则是ClassName::methodNameObject ::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"); //相当于调用Integer.parseInt("wew");
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);
}
}
posted @   DogLeftover  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示