浅谈Java lambda表达式和函数式编程

浅谈Java lambda表达式和函数式编程浅谈Javalambda表达式和函数式编程什么是Javalambda表达式?函数式编程是啥?lambda表达式是函数式编程的一种吗?

需要声明的是,我不是专家,而是一个初学者,最近在学习函数式编程,所以想融合网上的资料做一个简单的总结。

什么是Java lambda表达式?

写Java的小伙伴们可能知道lambda表达式,lambda简明的地将代码或方法作为参数传递进去执行,Lambda作为函数式编程中的基础部分,在其他编程语言中早已大展身手了,在java8到来的时候,Java也开始支持Lambda了。它极大增强了代码的表达能力,它的语法格式如下:

no.1 (parameters) -> expression
no.2 (parameters) ->{ 
    statements; }

(形式参数) -> { 
   代码块}

Lambda表达式的三要素:

  • 形式参数,箭头,代码块

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

下面是常用的几种情况:

() -> 7 //不需要参数 
(x, y) -> x – y   //返回俩个参数的差值

当然,每一个工具都有利有弊,Lambda表达式也不例外!
优点:

  1. 代码简洁紧凑,提高程序运行效率
  2. 减少匿名内部类的创建,节省资源
  3. 可以替代几乎所有的for循环

缺点:

  1. 对于不熟悉的开发者来说,不太容易看得懂
  2. 不容易调试
  3. 可读性差,不利于维护

函数式编程是啥?

函数式编程的起源,是一门叫做范畴论(Category Theory)的数学分支。

首先,函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。–百度百科

假如把我们的真实世界抽象成事物事物之间的关系,我们的这个世界是不是就可以抽象的看作许多事物和事物之间的关系组成的一个大的模型吗?这就是函数式编程的思想。

简单来说呢,在函数式编程中,函数就是一个管道(pipe)。这头进去一个值,那头就会出来一个新的值,没有其他作用

lambda表达式是函数式编程的一种吗?

lambda表达式是遵循编程的思想的,它就是函数式编程诞生的产物。

Java8中有哪几种重要新特性被引入进来了?

  • Lambda表达式
  • 函数式接口
  • 方法引用与构造器引用
  • Stream API
  • 接口的默认方法与静态方法
  • 新时间日期API
  • Optional 类
  • 其他新特性

其中,引用最广泛的新特性是Lambda表达式和Stream API。

今天的文章浅谈Java lambda表达式和函数式编程分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/27195.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注