Java使用Lambda表达式实现Function 接口
Function<T,R>接口是java.util.function包中的函数接口。此接口需要一个参数作为输入并生成结果。Function<T,R>接口可用作lambda表达式或方法引用的分配目标。它包含一个抽象方法:apply(),两个默认方法:andThen()和compose()以及一个静态方法:identity()。
语法
@FunctionalInterface
public interface Function<T, R> {
R apply(T t);
}示例
import java.util.function.Function;
public class FunctionTest {
public static void main(String[] args) {
Function<Integer, Integer> f1 = i -> i*4; // lambda
System.out.println(f1.apply(3));
Function<Integer, Integer> f2 = i -> i+4; // lambda
System.out.println(f2.apply(3));
Function<String, Integer> f3 = s -> s.length(); // lambda
System.out.println(f3.apply("Adithya"));
System.out.println(f2.compose(f1).apply(3));
System.out.println(f2.andThen(f1).apply(3));
System.out.println(Function.identity().apply(10));
System.out.println(Function.identity().apply("Adithya"));
}
}输出结果
12 7 7 16 28 10 Adithya