3-2 JDK8 之自定义函数式编程实战

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)、总结对比

传统方式
传统方式需要在接口中定义四个方法,使用其中任意一个都需要将四个方法全部实现。
函数式编程方式
需要什么样的功能就实现什么样的功能,同时代码将会更加的简洁明了。




未经授权不得转载或转载请注明出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值