再度思考lambda表达式

lambda表达式,在《Java8实战》中,将Lambda的理解为简洁地可传递的匿名函数,这里重要强调简洁,可传递,匿名,函数,从字面可以清楚的了解lambda是什么,但是需要了解透彻liambda的实质,还需要思考为什么引用他?

任何程序语言,实现目标功能所需的代码越少,说明其对低层的封装越多,这里的低层并不仅仅是指硬件,机器语言,而是指将原有的东西进行封装,实现更少代码,更精简的api;

很多Java学习者,认为Lambda其主要的好处就是简化代码,实现更好的封装,那就没有理解到作者的重点,简化代码只是相对的,真正的意图不是简化代码,而是行为参数化,实现行为的方便替换;

对于同一类型的问题,输入相同,判断条件不同,得到的结果也不同,传统的方式是,我们需要重写好几个不同判断条件的方法,当然会造成代码的冗余,同时,lamdba将判断条件(行为的实现)和数据进行分离,同时降低了数据之间的耦合, {今天学习C++中的封装,封装实现了数据隐藏(private,protect修饰的成员),但是封装同时将接口和方法实现进行分离,使使用者不用关心方法的具体细节实现,只需要了解有什么功能即可}   这里将行为的实现和数据分离,只需提供实现的方法,很大的提升了函数的灵活性。

 

注意: lambda表达式相当于一个接口的实现类,其返回值的作用是什么了?

lambda表达式就是作为参数传递给需要这个接口实现类的方法,其lambda的返回值的作用就是用来判断其行为的程度(true或false,是否满足某个条件,),或者返回某个有用的值,其返回值是用来作为程序其他判断的标准,对于没有返回值的Lambda其目的就是执行一个行为。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值