JDK 8 -- Lambda表达式文章

Lambda表达式的语法####

(para1, para2...) -> {

//实现代码块

}

其中:

( )中para1, para2是参数,是Lambda表达式的输入

->称为箭头符号

{ }中是Lambda表达式的方法体,称为statement

只有一个参数时,( )可去掉

方法体只有一行语句时,{ }可去掉,并省略return,例如e -> System.out.println(e),称为expression

Lambda表达式可以作为函数式接口的实例###

例子:

先定义函数式接口TestInterface

@FunctionalInterface

public Interface TestInterface {

public abstract void testMethod(String message);

}

构建TestInterface接口的实例

public static void main(String[] args) {

TestInterface testInterface = (e) -> {

System.out.println(e + " word");//这里是testMethod方法的具体实现体

};

testInterface.testMethod("hello");

}

从上面的代码可以看出,引用testInterface指向了由Lambda表达式所创建的对象。所以,Lambda表达式是对象类型,而不是函数。

Lambda表达式中的参数e的类型一定是方法testMethod(String message)的参数类型String。因为TestInterface是函数式接口,其中必定只有一个抽象方法。

作者:ted005

链接:http://www.jianshu.com/p/875fdc1e00c5

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,955评论 18 399
  • lambda表达式(又被成为“闭包”或“匿名方法”)方法引用和构造方法引用扩展的目标类型和类型推导接口中的默认方法...
    183207efd207阅读 5,321评论 0 5
  • 原文http://www.codeceo.com/article/learn-java-lambda.html L...
    与我常在1053阅读 4,857评论 1 7
  • 作为一个爱做白日梦的女人,梦想是量产且日新月异的。 为了让这些梦想照进现实,我给那些反复出现在脑海里的梦想加上了期...
    心心_幸会阅读 3,793评论 1 0
  • ---慈诚罗珠堪布 ​ ​​​
    亲子教育讲师绽放阅读 760评论 0 0