浅谈Java8的函数式编程

关于“Java8为Java带来了函数式编程”已经有了很多讨论,但这句话的真正意义是什么?

本文将讨论函数式,它对一种语言或编程方式意味着什么。在回答“Java8的函数式编程怎么样”之前,我们先看看Java的演变,特别是它的类型系统,我们将看到Java8的新特性,特别是Lambda表达式如何改变Java的风景,并提供函数式编程风格的主要优势。

函数式编程语言是什么?

函数式编程语言的核心是它以处理数据的方式处理代码。这意味着函数应该是第一等级(First-class)的值,并且能够被赋值给变量,传递给函数等等。

事实上,很多函数式语言比这走得更远,将计算和算法看得比它们操作的数据更重要。其中有些语言想分离程序状态和函数(以一种看起来有点对立的方式,使用面向对象的语言,这通常会将它们联系得更紧密)。

Clojure编程语言就是一个这样的例子,尽管它运行于基于类的Java虚拟机,Clojure的本质是函数式语言,并且在高级语言源程序中不直接公布类和对象(尽管提供了与Java良好的互操作性)。

下面显示的是一个Clojure函数,用于处理日志,是一等公民(First-classcitizen),并且不需要绑定一个类而存在。

(defnbuild-map-







































昆明白癜风权威医院
怎样治疗白癜风呢



转载请注明:http://www.jiaju1314.com/xxzl/1075.html

  • 上一篇文章:
  •   
  • 下一篇文章: