Java是一种计算机编程语言,可用于编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,是IT开发行业中最受欢迎的编程语言之一。想要学好Java必须要一步一个脚印打好基础、积攒实战经验,接下来小编就给大家分享Java函数式编程知识。
函数式编程是Java8的一大特色,也就是将函数作为一个参数传递给指定方法。函数式编程的目的是使用函数来抽象作用在数据之上的控制流和操作,从而在系统中消除副作用并减少对状态的改变。
函数式编程涉及的概念知识
声明式编程
函数式编程属于声明式编程范式:这种范式会描述一系列的操作,但并不会暴露它们是如何实现的或是数据流如何传过它们。声明式是将程序的描述与求值分离开来,它关注如何用各种表达式来描述程序逻辑,而不一定要指明其控制流或状态关系的变化。
纯函数
纯函数指没有副作用的函数。使用纯函数的代码绝不会更改或破坏全局状态,有助于提高代码的可测试性和可维护性。纯函数有两个特征:1)仅取决于提供的输入,而不依赖于任何在函数求值或调用间隔时可能变化的隐藏状态和外部状态。2)不会造成超出作用域的变化,例如修改全局变量或引用传递的参数。
引用透明
引用透明是定义一个纯函数较为正确的方法。纯度在这个意义上表面一个函数的参数和返回值之间映射的纯的关系。如果一个函数对于相同的输入始终产生相同的结果,那么我们就说它是引用透明。
不可变数据
不可变数据是指那些创建后不能更改的数据。与许多其他语言一样,JavaScript 里有一些基本类型(String,Number 等)从本质上是不可变的,但是对象就是在任意的地方可变。
函数式编程大量使用函数,减少了代码的重复,不仅开发速度快更方便管理,是一个优秀的Java开发人员必须要掌握的技能之一。
领取专属 10元无门槛券
私享最新 技术干货