3-2 JDK8 之自定义函数式编程实战
Lambda 表达式在实际开发中应该如何使用呢?
接下来将使用自定义函数式接口与Lambda表达式来实现一个简易的加、减、乘、除。并借此展示Lambda表达式在实际开发中的应用。
1)、定义加、减、乘、除函数式接口
@FunctionalInterface 接口用处是告诉其他团队成员该接口是一个函数式接口,有且只能有一个需实现的方法
@FunctionalInterface
public interface OperFunction<R,T> {
R operator(T a,T b);// 将通过这一个接口来实现加、减、乘、除四个功能
}
2)、通过Lambda表达式实现接口方法
public class Main {
public static void main(String[] args) throws Exception {
System.out.println(operator(20, 5, (Integer x, Integer y) -> {
return x * y;
}));// 乘法
System.out.println(operator(20, 5, (x, y) -> x + y));// 加法
System.out.println(operator(20, 5, (x, y) -> x - y));// 减法
System.out.println(operator(20, 5, (x, y) -> x / y));// 除法
}
// 该方法参数为上述接口
public static Integer operator(Integer x, Integer y, OperFunction<Integer, Integer> of) {
return of.operator(x, y);
}
}
3)、总结对比
传统方式
传统方式需要在接口中定义四个方法,使用其中任意一个都需要将四个方法全部实现。
函数式编程方式
需要什么样的功能就实现什么样的功能,同时代码将会更加的简洁明了。
未经授权不得转载或转载请注明出处