Java8之Consumer、Supplier、Predicate和Function攻略(4)
这段代码,首先创建一个 Predicate 对象,然后实现 test 方法,在 test 方法中做一个判断:如果传入的参数大于 5 ,就返回 true,否则返回 false;
这段代码调用 Stream 的 filter 方法,filter 方法需要的参数就是 Predicate 接口,所以在这里只要大于 5 的数据就会输出。 3.4 Predicate 接口总结 ① Predicate 是一个谓词型接口,其实只是起到一个判断作用。 ② Predicate 通过实现一个 test 方法做判断。 4 Function 接口 Function 接口是一个功能型接口,它的一个作用就是转换作用,将输入数据转换成另一种形式的输出数据。 4.1 Function 接口实例
输出结果 4.2 代码分析 ① Function 接口分析
这段代码创建了一个 Function 接口对象,实现了一个 apply 方法,这个方法有一个输入参数和一个输出参数。其中,泛型的第一个参数是转换前的类型,第二个是转化后的类型。 在上面的代码中,就是获取字符串的长度,然后将每个字符串的长度作为返回值返回。 ② 重要应用 map 方法
在 Function 接口的重要应用不得不说 Stream 类的 map 方法了,map 方法传入一个 Function 接口,返回一个转换后的 Stream类。 4.3 其他 Function 接口 除了上面使用的 Function 接口,还可以使用下面这些 Function 接口。 IntFunction 、DoubleFunction 、LongFunction 、ToIntFunction 、ToDoubleFunction 、DoubleToIntFunction 等等,使用方法和上面一样。 4.4 Function 接口总结 ① Function 接口是一个功能型接口,是一个转换数据的作用。 ② Function 接口实现 apply 方法来做转换。 5 总结 通过前面的介绍,已经对Consumer、Supplier、Predicate、Function这几个接口有详细的了解了,其实,这几个接口并不是很难,只是有点抽象,多加理解会发现很简单,并且特别好用!
(编辑:ASP站长网) |