java8新特性之Lambda表达式

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

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

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

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

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

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

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

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

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

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

                

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

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

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

                             BinaryOperator<Long>bo=(x,y)->{

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

                              Return x+y;

                               }

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

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

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

                              BinaryOperator<Long>bo=(Long x,Long y) ->{

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

                                    Return x+y;
                    }

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



阅读更多
上一篇SVN的使用
下一篇java中interface定义的成员变量和方法
想对作者说点什么? 我来说一句

java8新特性

2015年05月27日 28KB 下载

没有更多推荐了,返回首页

关闭
关闭