package com.company.test;
public class lambdademo {
interface PrintAPI{
void print(String val);
}
public void out(String val,PrintAPI printAPI){
printAPI.print(val);
}
public static void main(String[] args) {
lambdademo lambdademo = new lambdademo();
String str = "abc";
//方法一:
// PrintAPI printAPI = new PrintAPI() {
// @Override
// public void print(String val) {
// System.out.println(val);
// }
// };
//方法二
// PrintAPI printAPI = (String val) -> {
// System.out.println(val);
// };
//三:可以省略参数类型,也可以省略返回值,会根据接口定义、返回值定义、参数定义自动地去推断lambda表达式
// PrintAPI printAPI = (val) -> {
// System.out.println(val);
// };
//四:只有一个参数,可以省略括号
// PrintAPI printAPI = val -> {
// System.out.println(val);
// };
//五:函数体只有一句,可以省略{ }
// PrintAPI printAPI = val -> System.out.println(val);
//直接放进
lambdademo.out(str,val -> System.out.println(val));
}
}