lambda表达式

一,lambda的基本语法

    java8中引入了一个全新的操作符 "->" ,该操作符被称为箭头操作符或者Lambda操作符,箭头操作符把lambda表达式分为两部分:

  左侧:Lambda表达式的参数列表

  右侧:Lambda表达式所需要执行的功能或者成为Lambda体

语法格式一:无参数,无返回值

  例如:() -> System.out.println(" hello world");

语法格式二:有一个参数并且无返回值

  例如:(a) -> System.out.println(“111111111111111”);

语法格式三:如果只有一个参数小括号可以省略不写

  例如 : a -> System.out.println("22222222222222");

语法格式四:有两个以上参数并且有返回值,Lambda体中还包括多条语句

  例如: Comparator<Integer> com = (a,b) -> {

       System.out.println("3333333333333333");

     }

语法格式五:如果Lambda体重只有一条语句 return和{}可以省略不写

  例如:Comparator<Integer> com = (a,b) -> Integer.compare(a,b);

语法格式六:

Lambda 表达式的参数列表的数据类型可以省略不写,因为JVM编译器通过上下文推断出,数据类型,即“类型推断”
  例如:(Integer x, Integer y) -> Integer.compare(x, y);

 

二,Lambda表达式需要函数式接口支持

函数式接口:接口中只有一个抽象方法的接口,称为函数式接口。可以使用@FunctionalInterface注解修饰(可以检查是否是函数式接口)

posted @ 2018-06-12 16:20  zhangjunlong  阅读(114)  评论(0编辑  收藏  举报