为什么要用Lambda表达式和函数式编程?

很多人在初学lambda表达式的时候不禁发出这样的疑问,为什么要用lambda表达式?函数式编程思想到底是什么意思?

首先 我们说说什么是函数式编程思想吧。

面向对象编程,我们关注的是对象,比如我需要一个什么对象的什么方法。

面向切面编程,我们关注的是一个个切面,我需要写一个什么样的切面出来去解决什么问题。

函数式编程就是去关注函数,函数是什么呢,函数就是处理一个问题的方式方法。所以说对于函数式编程来说呢,我们不去关注用了什么对象,我们只关心它对我们的这些数据做出了什么样的操作,进行了什么样的处理。具体落实在代码中呢,就是只关注方法参数和方法体本身。一句话:不关心它是谁,只关心它怎么做。

匿名内部类,我们只重写了这个接口的方法,将这个方法当成参数传进去了,为什么是匿名呢?因为不在乎,因此这个类可以是任何类,我们要的只是这个方法而已,那么我们可以使用function接口,我们这下连要实现的接口都不用自己写了,java为我们提供了,我们只是把function当做载体而已,将我们的方法的具体实现运输过去而已。

想比说到这里大家肯定有一种顿悟的感觉,那么恭喜你了。

说说Lambda表达式吧,它就是函数式编程的一种体现,是它的具象化

  
        a1(new Function() {
            @Override
            public Object apply(Object o) {
                
                return o+"1";
            }
        });

     // 转为lambda
        a1(s1->s1+"1");
        

看看没用lambda和用了lambda的区别  

转化为lambda后呢,接口名称,方法名称,参数类型都没有了,只保留了参数和函数体本身,这不就是函数式编程的思想吗。这就是为什么它是函数式编程的一种体现。

如果这篇文章对你有帮助的话,希望您帮我点赞,关注,收藏。谢谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值