关于lambda表达式

it2022-05-05  230

  lambda表达式支持将代码块作为方法参数,适用于创建只有一个抽象方法的接口实例,这种接口(只包含一个抽象方法的接口)也成为函数式接口。

  同时lambda表达式可以简化创建匿名内部类对象。Java8中为函数是接口提供了@FunctionalInterface注解。

  lambda表达式的语法:

  (形参列表)->{代码块}

  形参列表:允许省略形参类型,如果只有一个参数,圆括号可省略,当为空时直接写()

  箭头->:英文中划线和大于号

  代码块:在代码块和普通代码块语法规则一样,如果只有一条代码,则可省略{},如果有返回值,且代码块只有一条return语句,则return也可省略。

  lambda表达式有两个限制:

  1.lambda表达式目标类型必须是明确的函数式接口。

  2.lambda表达式只能为函数式接口创建对象。

  例如创建一个Runnable接口的实例:

  

1 Runnable run = ()->{ 2 for(int i = 0;i < 10;i++){ 3 System.out.println(i); 4 } 5 };

 

  上面的lambda表达式等价于:

Runnable run = new Runnable(){ @Override public void run(){ for(int i = 0;i < 10;i++){ System.out.println(i); } } };

 

转载于:https://www.cnblogs.com/Lily-Siwaer/p/6772690.html


最新回复(0)