一 .概述
在之前我们使用了一些lambda表达式,还给出了一个基本的结构,但是现在我们需要更加深入的学习一下lambda表达式的具体结构,
我们知道lambda表达式需要一个函数化接口,在这个接口之中最为重要的就是那个抽象方法.
那么我们就知道这个方法的表现方式i就是lambda的全部了.
lambda :
[1] 参数列表
[2] 箭头表达式
[3]方法体
我们现在想起来也没有任何特别的地方.
二 ,通用的函数式接口
在上面我们知道了什么是函数式接口,在jdk8之中为我们提供了更通用的函数式接口.
我们可以使用这些接口帮助去实现更加通用的方法.
[1]Function<T,R>接口 --运算接口
@FunctionalInterface public interface Function<T, R> { R apply(T t); }
我们注意到其中仅仅只有一个抽象方法,其中方法的参数是T,返回的结构是R.
这个接口想要表达的含义是:
通过T参数对象获得R结果.
[2]Consumer<T> 结构 --- 消费接口
@FunctionalInterface public interface Consumer<T> { void accept(T t); }
该接口表达的含义就是 : 使用一个对象
[3]生产接口
@FunctionalInterface public interface Supplier<T> { T get(); }
这个接口的含义就是:返回一个结果.
[4]断言接口
@FunctionalInterface public interface Predicate<T> { boolean test(T t); }
该接口的含义就是判断一个是否正确.