public class HelloWorld{
public static void main(String []args){
f(()->System.out.println("OK"));//传lambda表达式 一个匿名函数对应一个方法
g(Math::random);
f(A::f);//双冒号 即直接传方法参数 方法必须为静态方法
}
public static void f(VoidTest v){
v.f();
}
public static void g(ReturnTest r){
System.out.println(r.f());
}
}
class A{
public static void f(){
System.out.println("a.f");
}
}
/**
* 可以声明FunctionalInterface注解或者不声明都起作用
*
* /
@FunctionalInterface
interface ReturnTest{
double f();
}
interface VoidTest{
public void f();
}
java8 lambda 传入方法或者传入匿名函数 尝试理解
最新推荐文章于 2024-07-20 03:05:02 发布