JAVA Lambda 表达式

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   非法:没有带推断类型的修饰符

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

推荐阅读更多精彩内容