Lambda表达式格式规范
由三部分组成:
a—些参经
b.一个箭头
c.一段代码格式:
(参数列表)->{一些重写方法的代码方法}
():接口中抽象方法的参数列表,没有参数,就空着;有参数就写出参数,多个参数使用逗号分隔
->:传运的薏思,把参数传进给方法体
{}:重与接口的抽象方法的方法体
Lambda表达式:是可推导,可以省略
凡是根据上下文推导出来的内容,都可以省略书写可以省略的内容:
1(参数列表):括号中参数列表的数据类型,可以省略不写
2.(参数列表):括号中的参数如果只有一个那么类型和(都可以省略
3.{一些代码]:如果中的代码只有一行,无论是否有返回值,都可以省略((), return,分号)
注意:要省略行,return,分号必须一起省略
Lambda的语法非常简洁,完全没有面向对象复杂的束缚。但是使用时有几个问题需要特别注意:
1.使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。无论是JDK内置的 Runnable 、Comparator接口还是自定义的接口,只有当接口中的抽象方法存在且唯一时,才可以使用Lambda。
2.使用Lambda必须具有上下文推断。也就是方法的参数或局部变星类型必须为Lambda对应的接口类型,才能使用Lambda作为该接口的实例。