美文网首页
JAVA Lambda 表达式

JAVA Lambda 表达式

作者: GrayZhang | 来源:发表于2018-08-28 16:52 被阅读0次

    Lambda基础语法

    () -> {}     

    // No parameters; result is void  无参数,无返回结果。

    () -> 42              

    // No parameters, expression body 无参数,返回表达体。

    () -> null            

    // No parameters, expression body 无参数,返回表达体null。

    () -> { return 42; }   

    // No parameters, block body with return  无参数,返回块体。

    () -> { System.gc(); }

    // No parameters, void block body    无参数,void块体。

    () -> {              

      if (true) return 12;

      else {

        int result = 15;

        for (int i = 1; i < 10; i++)

          result *= i;

        return result;

      }

    }   

    // Complex block body with returns   具有返回的复杂块体

    (int x) -> x+1             

    // Single declared-type parameter   单个声明类型参数

    (int x) -> { return x+1; } 

    // Single declared-type parameter  单个声明类型参数,返回块体。

    (x) -> x+1                 

    // Single inferred-type parameter  单个推断类型参数

    x -> x+1                  

    // Parentheses optional for   单个类型参数,括号可省略。

     // single inferred-type parameter  单个推断类型参数

    (String s) -> s.length()    

    // Single declared-type parameter   单个声明类型参数

    (Thread t) -> { t.start(); } 

    // Single declared-type parameter  单个声明类型参数

    s -> s.length()            

    // Single inferred-type parameter  单个推断类型参数

    t -> { t.start(); }         

    // Single inferred-type parameter  单个推断类型参数

    (int x, int y) -> x+y 

    // Multiple declared-type parameters  多个声明类型参数

    (x, y) -> x+y         

    // Multiple inferred-type parameters   多个推断类型参数

    (x, int y) -> x+y  

    // Illegal: can't mix inferred and declared types   非法:不能混合推断和声明的类型

    (x, final y) -> x+y 

    // Illegal: no modifiers with inferred types   非法:没有带推断类型的修饰符

    相关文章

      网友评论

          本文标题:JAVA Lambda 表达式

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