首页 > 其他 > 详细

lambda函数式编程思想

时间:2020-01-18 13:06:16      阅读:70      评论:0      收藏:0      [点我收藏+]

lambda优化日志案例

public class Demo {

    public static void show_log(int i ,String msg){
        if (i == 1){
            System.out.print(msg);
        }
    }

    public static void main(String[] args) {
        show_log(2,"hello");
        show_log(1,"world");
        show_log(1,"java");
    }

}

从案列中可以看出,不管日志级别 是不是1,但是当输出的时候,msg还是会先进行拼接,拼接后才去输出,这就造成了性能浪费。

lambda优点:延时加载

lambda的适用前提,必须存在函数式接口

 

@FunctionalInterface
public interface DemoLambda {
    public abstract String show_log();
}
public class Demo02 {
    public static void main(String[] args) {
        String msg1 = "hello";
        String msg2 = "world";
        String msg3 = "java";
        showLog(2,()->{
            return msg1+msg2+msg3;
        });
    }
    public static void showLog(int level ,DemoLambda msg){
        //定义个亿显示日志的方法,方法参数传递日志的等级和msg接口
        if (level == 1){
            System.out.println(msg.show_log());
        }
    }
}

 

技术分享图片

 

 

 

这样就做到了性能优化;

lambda函数式编程思想

原文:https://www.cnblogs.com/bozhengheng/p/12208739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!