Java8专题七《函数式编程小结》

背景:

在实现和维护一个系统中,我们首先会去看这个程序是否具有良好的结构(耦合度和内聚性),因为良好的结构便于我们理解。

除此以外,我们最关心的就是在日常工作中对代码进行维护时的调试,因为代码遭遇一些无法预期的值就有可能发生崩溃。

我们接下来的工作无非就是去寻找导致这个问题的原因了->为什么会发生这种情况?他是怎么进入这种状态的?

 

1、函数式编程是什么?

它是一种使用函数进行编程的方式。

那什么是函数呢?在数学领域上,函数的定义:指一个量随着另一个量的变化而变化 。

在函数式编程的上下文中,一个“函数”对应与一个数学函数:它接受零个或多个参数,生成一个或多个结果,并且不会产生任何“副作用”。“副作用”指的是修改了被调用者使用到的变量。

 

2、函数式编程解决了什么问题以及好处?

函数式编程提出的“无副作用”以及“不变性”对于解决我们在开发过程中遇到的“无预期的值导致程序发生崩溃”这一大难题是大有裨益的。

 

3、面向对象的编程和函数式编程的对比?

面向对象编程更加偏向于“怎么做”,函数式编程更加偏向于“做什么”。

例如我要获取一个列表中的偶数集合

Java8之前的实现方式就是:

1、首先创建一个新列表用于存放偶数

2、显式的遍历列表

3、判断单个元素是否是偶数

4、将是偶数的元素添加到新列表中

Java8的实现方式:

1、用流隐

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值