怎么在Java8中使用λ表达式

  介绍

怎么在Java8中使用λ表达式?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1。λ表达式介绍

λ表达式是Java8提供的新特性之一,也可以称之为闭包;它支持Java能够进行简单的<代码>函数式编程> 固定组成,第三部分为方法体;

public  class  LambdaTest  {      ,,,public  static  void  main (String [], args), {   ,,,,,,,//,使用λ表达式创建线程   ,,,,,,,Thread  Thread =, new 线程((),→,{   ,,,,,,,,,,,System.out.println (“thread  running");   ,,,,,,,});   ,,,,,,,thread.start ();   ,,,}   }

//运行结果
线程运行

2。λ表达式的重要特征

可选的参数类型声明:不需要声明参数的类型,编译器可以统一识别参数值;

public  class  LambdaTest  {      ,,,private  Integer ;      ,,,public  LambdaTest (Integer ), {   ,,,,,,,this.a =,,   ,,,}      ,,,public  void 打印(LambdaInterface  lambdaInterface), {   ,,,,,,,lambdaInterface.print (this.a);   ,,,}      ,,,public  static  void  main (String [], args), {   ,,,,,,,LambdaTest  LambdaTest =, new  LambdaTest (123);   ,,,,,,,//,声明参数类型   ,,,,,,,System.out.println(“声明参数类型“);   ,,,,,,,lambdaTest.print ((Integer ),→, {   ,,,,,,,,,,,System.out.println (“a:,“, +,);   ,,,,,,,});   ,,,,,,,//,不声明参数类型   ,,,,,,,System.out.println(“不声明参数类型“);   ,,,,,,,lambdaTest.print ((a),→, {   ,,,,,,,,,,,System.out.println (“a:,“, +,);   ,,,,,,,});   ,,,}   }      interface  LambdaInterface  {   ,,,void 打印(Integer );   }

//运行结果
声明参数类型
: 123
不声明参数类型
: 123

可选的参数圆括号:一个参数时不需要定义圆括号,但没有参数或者多个参数时则必须要定义。

public  class  LambdaTest  {      ,,,private  Integer ;      ,,,public  LambdaTest (Integer ), {   ,,,,,,,this.a =,,   ,,,}      ,,,public  void 打印(LambdaInterface  lambdaInterface), {   ,,,,,,,lambdaInterface.print (this.a);   ,,,}      ,,,public  static  void  main (String [], args), {   ,,,,,,,LambdaTest  LambdaTest =, new  LambdaTest (123);   ,,,,,,,//,定义参数圆括号   ,,,,,,,System.out.println(“定义参数圆括号“);   ,,,,,,,lambdaTest.print ((a),→, {   ,,,,,,,,,,,System.out.println (“a:,“, +,);   ,,,,,,,});   ,,,,,,,//,一个参数可不定义参数圆括号   ,,,,,,,System.out.println(“一个参数可不定义参数圆括号“);   ,,,,,,,lambdaTest.print (a →, {   ,,,,,,,,,,,System.out.println (“a:,“, +,);   ,,,,,,,});   ,,,}   }      interface  LambdaInterface  {   ,,,void 打印(Integer );   }

//运行结果
定义参数圆括号
: 123
一个参数可不定义参数圆括号
: 123

可选的大括号:如果方法体仅有一个语句,可不需要使用大括号;

public  class  LambdaTest  {      ,,,private  Integer ;      ,,,public  LambdaTest (Integer ), {   ,,,,,,,this.a =,,   ,,,}      ,,,public  void 打印(LambdaInterface  lambdaInterface), {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在Java8中使用λ表达式