我有一个maven web项目是基于jdk1.8的,我现在把代码中java8的特性都用java7实现,

Lambda表达式是Java SE 8中一个重要的新特性lambda表达式允许你通过表达式来代替功能接口。lambda表达式的本质是一个匿名方

2、Lambda表达式使用前提

  • 使用Lambda必须具有且仅有一个抽象方法接口,且要求接口中有且仅有一个抽象方法
  • 使用Lambda必须具有上下文推断。也就是方法的参数或局部变量类型必须为Lambda对应的接口类型才能使用Lambda作为该接口的实例。

Lambda省去面向对象的条条框框格式由3个部分组成:参数列表,箭头实现代码;标准格式为:

无参无返回值的Lambda表达式

Lambda 表达式也可称为闭包,它是推動 Java 8 发布的最重要新特性Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑

  1. 可選类型声明:不需要声明参数类型,编译器可以统一识别参数值
  2. 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号
  3. 可选的大括号:如果主体包含了一个语句,就不需要使用大括号
  4. 可选的返回关键字:如果主体只有一个表达式返回值则编译器会洎动返回值,大括号需要指定明表达式返回了一个数值

lambda表达式基本语法

lambda表达式基本语法,如下

搞明白lambda表达式的基本特征和语法以后我們去实际代码中运用一下看看。

不难看出对比传统匿名内部类的写法,使用lambda表达式让我们的代码简洁了许多


    

lambda表达式两行代码就实现了,不难看出lambda表达式使我们的代码更加简洁了

    过滤掉以“a”开头的元素

以上就是lambda表达式的基本使用了,熟练使用还是得在实际运用中实践財能达到出神入化的地步

我要回帖

 

随机推荐