java8新特性[5]:深入理解Java8 Lambda表达式

栏目:Java8新特性 作者:admin 日期:2018-11-18 评论:0 点击: 7,625 次

一、Lambda表达式是什么?

Lambda表达式有两个特点:一是匿名函数,二是可传递。

匿名函数的应用场景是:
通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用Lambda表达式。lambda表达式所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用lambda就有点过于执拗了。

可传递使用场景是:
就是将Lambda表达式传递给其他的函数,它当做参数,Lambda作为一种更紧凑的代码风格,使Java的语言表达能力得到提升。

二、Lambda表达式语法

Lambda表达式在Java语言中引入了一个新的语法元素和操作符。这个操作符为"->",该操作符被称为Lambda操作符或箭头操作符,它将Lambda分为两个部分:

左侧:指定了Lambda表达式所需要的所有参数
右侧:指定了Lambda体,即Lambda表达式所要执行的功能。

常见的语法格式:

语法格式一:无参,无返回值,Lambda体只需要一条语句。

语法格式二:Lambda需要一个参数

语法格式三:Lambda只需要一个参数时,参数的小括号可以省略

语法格式四:Lambda需要两个参数,并且有返回值

语法格式五:当Lambda体只有一条语句时,return与大括号可以省略

语法格式六:数据类型可以省略,因为可由编译器推断得出,称为类型推断

三、Lambda表达式实战

实战1:线程

实战2:集合元素的遍历

实战3:map函数。

map函数可以说是函数式编程里最重要的一个方法了。map的作用是将一个对象变换为另外一个。

实战4: reduce函数。

map的作用是将一个对象变为另外一个,而reduce实现的则是将所有值合并为一个。

实战5:过滤

实战6:Predicate过滤

java8新特性[5]:深入理解Java8 Lambda表达式:等您坐沙发呢!

发表评论