Lambda表达式
lambda表达式只能运用于只有一个抽象方法的接口
基本格式为:()->{}其中小括号是方法的参数,{}是方法体
lambda表达式的语句可以看成是重写了抽象方法的匿名内部类,一般情况下,配合一个带接口类型的参数的useXXX方法使用,该方法用来给重写方法参数赋值,以及调用其方法
即使用lambda表达式必须有上下文环境,要能知道这个地方应该是什么接口的实现类对象
省略要求:
1. 小括号里面的参数类型可以省略
2. 如果参数只有一个,小括号可以省略
3. 如果放方法体只有一条,可以省略其大括号和分号,如果是return语句,那么return也要省略。
lambda表达式不会生成单独的字节码文件
lambda方法引用:
如果方法参数与方法体中的方法的参数对应,那么可以再次省略成方法体中调用该方法的对象::方法,不用加括号和参数。
lambda表达式被类的实例方法代替的时候,第一个参数作为调用者,后面的参数全部传给该方法作为参数
lambda表达式被构造器替代的时候,其形式参数全部传递给构造器作为参数
引用构造器
类名::new
|
|