Lambda基本使用方法
举一些简单例子:
无参,有返回值 ()->1 有参,有返回值 x->x+1 两个参数,有返回值 (a,b)->a+b 有参,无返回值 (s)->System.out.println(s)
由上节可知道,当我们使用Lambda表达式时一般要实现抽象接口的抽象方法,那么这就需要我们当要使用Lambda时就要创建一个接口,这就会很麻烦,所以Java为我们提供了一些接口模板
- Consumer:消费型:无参,无返回值,只需要实现一些方法
- Supplier:供给型:无参,有返回值,一般是返回对象
- Function:函数型:有一个参数,有返回值,一般是对数据进行处理
- Predicate:断言型:有参,返回值为Boolean,一般是为了筛选使用
Consumer con=(i)->System.out.println("35345"+i); con.accept(34); Supplier<Integer> sup=()->2; System.out.println(sup.get()); Function<Integer,Integer> fun=(i)->i+2; System.out.println(fun.apply(3)); Predicate<Integer> pre=(i)->i%2==0; System.out.println(pre.test(4));
这四大核心内置函数式接口,可以为我们提供很大方便,但我们再去使用Lambda表达式时,就不需要去创建接口了,只需要按照自己需求选用合适的函数式接口即可。
举个例子,再去熟悉一下Lambda的使用环境
@Test public void te(){ BiFunction<Integer,Integer,Integer> bi=(x,y)->(x+y); fn(1,2,bi); } public void fn(int x,int y,BiFunction<Integer,Integer,Integer> bi){ int result=bi.apply(x,y); System.out.println(result); }