lambda表达式
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法)
使用 Lambda 表达式可以使代码变的更加简洁紧凑。
语法格式:
(parameters) -> expression
或
(parameters) ->{ statements; }
常见应用:四大核心函数接口
有参无返回值 Consumer
无参有返回值 Supplier
有参有返回值 Function
断言式接口 Predicate
实例有两种形式:
形式一:
public static void test1(){ //断言型
Predicate<Integer> p = (num) -> num<10;
System.out.println(p.test(100));
}
public static void test2(){ //消费型
Consumer<String> c = x -> System.out.println(x+"吃");
c.accept("小鸡");
}
public static void test3(){ //供给型
Supplier<Integer> w = () -> (int)(Math.random()*900);
System.out.println(w.get());
}
public static void test4(){ //函数型
Function<String,Integer> f = (x) -> (int)(Math.random()*900);
System.out.println(f.apply("444"));
}
形式二:
public static String upper( Function<String,String> f,String str){
return f.apply(str);
}
public static void test4_1(){ //第二种形式
upper(x->x.toUpperCase(),"hello");
public static Integer random( Supplier<Integer> w){
return w.get();
}
public static void test3_1(){
int i = random(()->(int)(Math.random()*900));
System.out.println(i);
}
}