java8中的Lamba表达式

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

你可能感兴趣的:(java)