1.什么是函数式接口,函数式接口和什么有关,和什么无关只有一个抽象方法的接口;
函数式接口只和接口中的抽象方法个数有关。和默认方法、私有方法无关。只有一个抽象方法是必要条件,而默认方法和私有方法无关是不必要条件。
2.lambda表达式在什么情况下可以提高程序的性能?
lambda会延迟执行,如果能在进行判断后,再执行,就可以节省性能。比如案例中的日志。对比字符串先拼接的情况,性能节省明显。
3.Supplier接口的作用, Consumer接口的作用?供应类接口它的作用是不必传入参数,自己生产数据。它的方法是T get()
Consumer是消费类接口,它会把数据给消费掉,抽象方法是accept(T)
4.Predicate接口的作用,里面都有哪些方法?
predicate接口作用是用来进行判断。
抽象方法:test(T)
默认方法:and or negate
用这几个默认方法,而不是用& | !,可以节省代码。
5.Function接口的作用,Function接口里面的andThen方法的作用?
Function接口作用是转换数据类型,将前置条件的数据类型转换为后置条件的数据类型
andThen作用 可以进行多次数据类型的转换。如 f1.andThen(f2).apply(s) function(String s ,Integer I)f1 ,function( Integer I , Integer in)f2;就是把string 这个数据类型转换为Integer ;然后把转换后的integer这个数据类型交给f2,f2再把它转化为想要的Integer类型。
|