0x00 Consumer
接受一个参数,不反回结果,所以是消费者
内部还有一个默认方法
0x01 Function
接受一个参数,返回一个参数,是处理一个对象,所以是功能
一般用来做行为传递,将行为交给编码者
eg:
0x02 Pradicate
输入一个值,判断是否符合要求,返回一个boolean
值.
下面这个例子包含了stream,可以只看看思想.从组数据中筛选出质数的集合
代码丑了点,别介意😜
eg:
0x03 Supplier
不用接受任何输入参数,获得一个固定的结果,所以他是提供者
一般在单例模式里面可以用这个,但是没想不出来模拟使用场景,所以没有例子。
注意,无输入参数!
0x04 UnaryOperator
这个,还没看出怎么用,他继承了Function
接口,所以功能跟Function
接口类似
0x05 BiFunction
接受两个参数,处理之后返回一个值
BiFunction没有compose方法,因为BiFunction无法返回两个值,所以组合的时候会少一个参数,干脆就没有组合方法了
eg:
0x06 BinaryOperator
继承BiFunction,接受两个类型相同的参数,返回一个类型跟参数一样的结果
eg: