美文网首页
JDK 8 -- Lambda表达式文章

JDK 8 -- Lambda表达式文章

作者: zax_632f | 来源:发表于2017-12-11 14:30 被阅读0次

    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

    來源:简书

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

    相关文章

      网友评论

          本文标题:JDK 8 -- Lambda表达式文章

          本文链接:https://www.haomeiwen.com/subject/lypiixtx.html