Lambda表达式理解

Lambda 表达式,也可称为闭包,能把函数作为一个方法的参数,,它的核心思想是将面向对象中的传递数据变成传递行为。

语法

在lambda中遵循如下的表达式来编写:

expression = (variable) -> action

  • variable: 这是一个变量,一个占位符。像x,y,z,可以是多个变量;
  • action: 这里称它为action, 这是我们实现的代码逻辑部分,它可以是一行代码也可以是一个代码片段。

可以看到Java中lambda表达式的格式:参数、箭头、以及动作实现,当一个动作实现无法用一行代码完成,可以编写 一段代码用{}包裹起来。

lambda表达式可以包含多个参数,例如:

int sum = (x, y) -> x + y;

这时候我们应该思考这段代码不是之前的x和y数字相加,而是创建了一个函数,用来计算两个操作数的和。 

使用需要注意以下两点:

  • Lambda 表达式主要用来定义行内执行的方法类型接口,例如,一个简单方法接口。
  • Lambda 表达式免去了使用匿名方法的麻烦,并且给予Java简单但是强大的函数化的编程能力。

函数式接口

函数式接口是只有一个方法的接口,用作lambda表达式的类型。

使用注解@FunctionalInterface告诉编译器这是一个函数式接口,标识后明确了这个函数中 只有一个抽象方法,当你尝试在接口中编写多个方法的时候编译器将不允许这么干。

示例代码:

@FunctionalInterface

interface Predicate<T> {

    boolean test(T t);

}

 

 

 


摘编:http://www.importnew.com/26080.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值