Java: Method Reference
- 类名::引用实例方法
Java 类名只能引用静态方法, 类名引用实例方法是 拿第一个参数作为方法的调用者
import java.util.function.BiFunction; import java.util.function.Function; public class addThen{ public static void main(String[] args){ Function<String, Integer> f1 = s -> s.length(); System.out.println("f1.apply(\"etymology\") = " + f1.apply("etymology")); Function<String, Integer> f2 = String::length; System.out.println("f2.apply(\"etymology\") = " + f2.apply("etymology")); BiFunction<String, Integer, String> biFunction = String::substring; System.out.println("biFunction.apply(\"etymology\",3) = " + biFunction.apply("etymology", 3)); } }
- 类名::new
import java.util.function.BiFunction; import java.util.function.Supplier; public class addThen{ public static void main(String[] args){ Supplier<Jot> supplier1 = Jot::new; System.out.println("supplier1 = " + supplier1.get()); BiFunction<String,Integer,Jot> supplier2=Jot::new; System.out.println("\033[37;7m" + supplier2.apply("jot", 55) + "\033[0m"); } } class Jot{ String name; int age; @Override public String toString(){ final StringBuilder sb = new StringBuilder("Jot{"); sb.append("name='").append(name).append('\''); sb.append(", age=").append(age); sb.append('}'); return sb.toString(); } public Jot(){ } public Jot(String name, int age){ this.name = name; this.age = age; } }
- 数组::new String[]::new
public class addThen{ public static void main(String[] args){ Function<Integer,String[]> f1=len->new String[len]; String[] strings = f1.apply(5); System.out.println("strings = " + Arrays.toString(strings)); Function<Integer,String[]> f2=String[]::new; String[] strings1 = f2.apply(3); System.out.println("strings1 = " + Arrays.toString(strings1)); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-05-25 利用chattr限制sudo修改root密码
2020-05-25 九九乘法表-bash
2020-05-25 通过ping探测主机在线状态
2020-05-25 利用RANDOM生成10个随机数字,输出这个10数字,并显示其中的最大者和最小者