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 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 function1 = t -> (t - 5);
Function 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