您的位置:首页 > 编程语言 > Java开发

java8新特性之lambda表达式的应用

2019-03-21 19:58 295 查看

java8新特性之lambda表达式的应用

lambda表达式的基础语法

java8引入了一个"->"箭头操作符,也叫做lambda表达式。箭头操作符将Lambda表达式拆分成两部分。

格式

  • 左侧:Lambda表达式的参数列表
  • 右侧:Lambda表达式的所执行的功能,即Lambda体。
  • 1、语法格式一:无参数列表,无返回值
  • () -> system.out.println();
  • 2、语法格式二:有一个参数,无返回值
  • (x) -> system.out.println(x)
  • 3、语法格式三:若只有一个参数,无返回值,小括号可以不写
  • x -> system.out.println(x)
  • 4、语法格式四:有两个以上的参数,有返回值,并且输出多条语句。
  • Comparator<Integer> c1 = (x,y) -> {
    System.out.println("函数式接口");
    return Integer.compare(x,y);
    };
  • 5、语法格式五:若Lambda表达式只有一条语句,则return和大括号都可以不写。
  • Comparator<Integer> c2 = (x,y) -> Integer.compare(x,y);
  • 6、Lambda表达式的参数列表的基本数据类型可以省略不写,因为JVM编译器可以通过上下文推断出。
  • List<String> list = new ArrayList<>();

Lambda需要函数式接口的支持

函数式接口:接口中只有一个抽象方法,就称为函数式接口。

  1. 测试
public static void main(String[] args) {
//Runable接口无参数列表,无返回值  原生的写法
Runnable a = new Runnable() {
@Override
public void run() {
System.out.println("你好");
}
};

//格式一测试:
Runnable r = () -> System.out.println("你好!");

//格式二:

Consumer<String> c = (x) -> System.out.println(x);
c.accept("你好!");

//格式四:
Comparator<Integer> c1 = (x,y) -> {
System.out.println("函数式接口");
return Integer.compare(x,y);
};

//格式五:
Comparator<Integer> c2 = (x,y) -> Integer.compare(x,y);
}
//格式六
List<String> list = new ArrayList<>();

今天又是愉悦的一天,每天进步一点点。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: