1、什么情况有下可以使用lamba
在函数式接口中可以使用
2、什么是函数式接口
只有一个抽象方法的接口称为函数式接口,同时将这个抽象方法称为函数描述符
3、java8中新增了哪些函数式接口
Predicate 的boolean test(T var),其中原始类型特化有IntPredicate,LongPredicate,DoublePredicate
Consumer的void accept(T var),原始类型特化有IntConsumer,LongConsumer,DoubleConsumer
Function的R apply(T var),原始类型特化有IntFunction,IntToDoubleFunction,IntToLongFunction,LongFunction,LongToDoubleFunction, LongToIntFunction,ToDoubleFunction,ToIntFunction,ToLongFunction
BiPredicate的boolean test(T t, U u)
BiConsumer的void accept(T t, U u),原始类型特化有ObjDoubleConsumer,ObjIntConsumer,ObjLongConsumer
BiFunction的R apply(T t, U u),原始类型特化有ToDoubleBiFunction,ToIntBiFunction,ToLongBiFunciton
Supplier的T get(),原始类型特化有BooleanSupplier,DoubleSupplier,IntSupplier,LongSupplier
UnaryOperator的T apply(T t), 原始类型特化有IntUnaryOperator, LongUnaryOperator, DoubleUnaryOperator
BinaryOperator的T apply(T t1, T u1),原始类型特化有IntBinaryOperator, DoubleBinaryOperator, LongBinaryOperator
4、lamba函数在捕获时有哪些要求
对于实例变量和静态变量无限制,对于局部变量必须显示声明为final或者事实上是final
5、方法引用有哪几种方法
一种是静态方法,一种是实例对角方法。都是采用class|obj::methodName