java.util.function.Function
是一个功能接口,其功能方法(单个抽象方法)是R apply(T t)
。 Function
接口表示采用单个参数T
并返回结果R
的操作。
示例#1
以下示例说明如何使用Lambda表达式使用Function
接口的apply()
方法。
文件:FunctionExample1.java -
package com.yiibai.tutorial.lambda;
import java.util.function.Function;
/**
* @author yiibai
*/
public class FunctionExample1 {
public static void main(String[] args) {
Function<Integer, String> function = (t) -> {
if (t % 2 == 0) {
return t+ " is even number";
} else {
return t+ " is odd number";
}
};
System.out.println(function.apply(5));
System.out.println(function.apply(8));
}
}
执行上面示例代码,得到以下结果:
5 is odd number
8 is even number
示例#2
以下示例显示如何使用Lambda表达式使用Function
接口的默认方法(andThen()
和compose()
)。
文件:FunctionExample2.java -
package com.yiibai.tutorial.lambda;
import java.util.function.Function;
/**
* @author yiibai
*/
public class FunctionExample2 {
public static void main(String[] args) {
Function<Integer, Integer> function1 = t -> (t - 5);
Function<Integer, Integer> function2 = t -> (t * 2);
//Using andThen() method
int a=function1.andThen(function2).apply(50);
System.out.println(a);
//Using compose function
int c=function1.compose(function2).apply(50);
System.out.println(c);
}
}
执行上面示例代码,得到以下结果:
90
95