论函数式编程在JAVA 程序中的应用
2016-06-06连洁
连洁
摘要:函数式编程已经成为当前最流行的编程模式之一,根据JAVA8最新标准,介绍了lambda表达式对函数式编程的支持,并探讨了Stream类在应用开发中的使用方式,对lambda表达式的应用模式进行了探讨。
关键词:函数式;Java程序;应用
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)06-0099-02
函数式编程(functional programming)作为当前最流行的编程规范之一,主流语言都对其进行了支持,作为编程领域最重要的JAVA语言,也在最新的JDK8中新增了相关特性,这就是lambda(λ)表达式及Stream类。它使得JAVA语言进一步与当今流行趋势结合,增强了JAVA语言的表现力,拓展了它的应用范围,优化了程序的结构与可读性
1 函数式编程简介
函数式编程(functional programming)是一种编程模式,旨在将运算过程尽量写成一系列嵌套的函数调用。在形式上,函数式编程允许将函数作为参数和返回值;在机制上,函数式编程在执行时进行惰性计算(lazy evaluation)和闭包等技术。最主要的优点是不修改状态,可以将任务随意分解,很好的符合了当前多线程、多处理器编程的趋势。
2 JAVA中的lambda表达式
lambda(λ)表达式是JDK8最大的更新之一,旨在引入函数式编程思想优化JAVA程序。其表达形式如下:
(int even, int odd) -> even + odd
在JDK8 中,使用->符号引起表达式,该符号左边为表达式的参数,右边为表达式的行为。Lambda表达式可使用在多种场合,例如作为参数直接传入某个函数:
button.addActionListemer(event->System.out.println(“button clicked!!”));
其中button是一个AWT Button 对象,由此我们可以看出,在传统的需要匿名内部类的地方可由lambda表达式代替,另外,传统的函数参数需要一个对象,而引入了lambda表达式之后,则可以将函数作为参数传入,从而在代码上更加简洁。……
