java8新特性之Lambda表达式

        Lambda是一个匿名函数,是整个JDK8发行版中最受期待的在java语言层面上的改变,Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中),或者把代码看成数据进行传递。Lambda表达式的语法格式如下:

                                (parameters) -> expression 或(parameters) -> { statements; }

        简单来说:->操作符将Lambda表达式分为了两个部分:

                            左侧:指定了Lambda表达式需要的所有参数。

                            右侧:指定了Lambda体,即Lambda表达式要执行的功能。

        Lambda表达式的语法格式如下:

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

                            Runnabler1=() -> System.out.println(“hello lambda!”);

                语法格式二:Lambda表达式只有一个参数

                            Consumerfun=(args) -> System.out.println(“hello lambda!”);

                

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

                            Consumer fun=args ->System.out.println(“hello lambda!”);

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

                             BinaryOperatorbo=(x,y)->{

                              System.out.println(“hello lambda!”);

                              Return x+y;

                               }

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

                             BinaryOperator bo=(x+y) -> x+y;

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

                              BinaryOperatorbo=(Long x,Long y) ->{

                                    System.out.println(“hello lambda!”);

                                    Return x+y;
                    }

如需详细资料和demo小例子,请留言。期待和大家的一起共同学习。



你可能感兴趣的:(java8新特性之Lambda表达式)