java 8 - java.util.function.function例子
时间:2020-02-23 14:34:52 来源:igfitidea点击:
在本教程中,我们将看到关于java.util.function.function函数接口。
java.util.function.function是java.util.function包的一部分。
Java中有一些内置的函数接口。
如果函数接口与要求匹配,则可以使用的函数。
java.util.Function.Function是一个函数接口,它采用输入单参数T并返回结果R.
它具有如下抽象方法。
R apply(T t)
让我们在一个例子的帮助下了解。
Java 8 函数示例
package org.igi.theitroad.java8; import java.util.function.Function; public class java8FunctionExample { public static void main(String[] args) { Function<Integer,Double> functionSqrt = n -> Math.sqrt(n); System.out.println("Square root of 49: "+functionSqrt.apply(49)); System.out.println("Square root of 68: "+functionSqrt.apply(68)); } }
andThen函数
它是默认函数,返回一个组成的函数,首先将此函数应用于其输入,然后将其应用于结果。
例如:
package org.igi.theitroad.java8; import java.util.function.Function; public class java8FunctionExample { public static void main(String[] args) { Function<Integer,Double> functionSqrt = n -> Math.sqrt(n); Function<Double,Double> functionDouble = n -> 2.0*n; double result=functionSqrt.andThen(functionDouble).apply(30); System.out.println("Result with andThen: "+result); } }
compose函数
它是默认函数,返回一个组成的函数,首先将函数应用于其输入,然后将此函数应用于结果。
package org.igi.theitroad.java8; import java.util.function.Function; public class java8FunctionExample { public static void main(String[] args) { Function<Integer,Double> functionSqrt = n -> Math.sqrt(n); Function<Double,Double> functionDouble = n -> 2.0*n; double result2=functionDouble.compose(functionSqrt).apply(30); System.out.println("Result with compose: "+result2); } }
使用java.util.Function.Function在流的MAP方法中
如果我们注意到流的MAP方法将函数作为输入占用,因为映射函数需要一个函数接口,它需要输入单个参数t并返回结果r和java。
util.function.function为流的地图方法提供了目的
<R> Stream<R> map(Function<? super T,? extends R>mapper)