Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。
Demo:
public class Demo {
//接口
interface Printer{
void printer(String str);
}
public void printerStr(String str,Printer printer){
printer.printer(str);
}
public static void main(String[] args) {
Demo demo = new Demo();
String val = "123456789";
//最简单写法
// Printer printer = new Printer() {
// @Override
// public void printer(String str) {
// System.out.println(str);
// }
// };
// demo.printerStr(val,printer);
//Lambda表达式
// Printer printer = (String str) ->{
// System.out.println(str);
// };
// demo.printerStr(val,printer);
//可以去掉参数类型
// Printer printer = (str) ->{
// System.out.println(str);
// };
// demo.printerStr(val,printer);
//只有一个参数的时候可以去掉()
// Printer printer = str ->{
// System.out.println(str);
// };
// demo.printerStr(val,printer);
//如果行数体只有一行可以去掉{};
// Printer printer = str -> System.out.println(str);
// demo.printerStr(val,printer);
demo.printerStr(val,str -> System.out.println(str));
}
}