Java8的工具包新增了function包,里面主要包含了Function,Consumer,Predicate,Supplier四种类。
Function类
- 抽象方法apply()
实例化Function的时候需要实现其中的apply()方法,apply方法接收一个模板类型作为输入参数,在andThen()和compose()方法里会自动调用apply()方法。 - default方法andThen()
andThen方法接收一个Function类的实例,通过andThen可以将任意多个Function的apply方法调用连接起来 - default方法compose()
compose方法和andThen方法一样接收一个另一个Function作为参数,但是顺序与andThen恰恰相反 - 静态方法identity()
Consumer类
Consumer的中文意思是消费者,意即通过传递进一个参数来对参数进行操作。
- accept方法
实例化对象的时候进行Override - andThen方法
Predicate类
- test方法
需要编程者自己去Override,其他的三个default方法里都使用到了这个方法 - and方法
返回这两个对象分别调用test方法之后得到的布尔值的并,相当于predicate1.test() && predicate2.test() - or方法
返回这两个对象分别调用test方法之后得到的布尔值的或,相当于predicate1.test() || predicate2.test()
Supplier类
supplier的中文意思是提供者,跟Consumer类相反,Supplier类用于提供对象,它只有一个get方法,是一个抽象方法,需要编程者自定义想要返回的对象。