/*
使用lambda优化日志案例
lambda的特点:延迟加载
使用前提:必须存在函数式接口
*/
public class demo02Lambda {
//定义一个显示日志的方法,方法参数传递日志等级和MessageBuilder接口
public static void showLog(int level, MessageBuilder messageBuilder) {
//对日志等级判断,如果是1级,调用MessageBuilder接口的方法messagebulider
if(level==1){
System.out.println(messageBuilder.builderMessage());
}
}
public static void main(String[] args) {
String meg1 ="hello";
String meg2 ="hello";
String meg3 ="hello";
/*showLog(1,()->{
return meg1+meg2+meg3;
}
);*/
/*
使用lambda表达式作为参数传递,仅仅是把参数传递到showLog方法中,
只有满足条件,日志的等级是1级 才会调用接口方法builderMessage
如果不满足条件,builderMessage也不会执行
不会存在性能浪费
*/
showLog(1,()->{
System.out.println("不满足条件不执行");
return meg1+meg2+meg3;
}
);
}
}