lambda表达式的格式
- 形参列表:(param1,param2,…..,paramn)参数类型可以省略,如果只有一个参数,圆括号也可以省略
- 箭头: ->
- 代码块:{ 代码}。如果代码块只有一条语句,则可以省略花括号。如果lambda表达式中只有一条return语句,则可以省略return。lambda表达式会自动将这条语句的值作为返回值。
lambda表达式的作用
代替匿名内部类,使用简单的代码块来实例化函数式接口(只有一个抽象方法的接口)。
- 实现Runnable接口(只有一个run()方法,因此是函数式接口)
Runnable r = ()->{
System.out.println("用lambda表达式实例化Runnable接口");
}
- 实现文件过滤器FilenameFilter(接口包含一个accept(File dir,String name)方法 )
String[] nameList=file.list((dir,name)->name.endsWith(".xml")
用lambda表达式实例化一个FilenameFilter接口,实现了accept方法,接受文件名以xml结尾的文件。