jdk1.8新特性Lambda表达式

lambda表达式其实就是指一个匿名函数,它支持Java也能进行简单的“函数式编程”,是一个匿名函数,即没有函数名的函数。

而能够使用lambda表达式的一个前提要求是,该变量必须实现某个函数式接口。

基本语法:
(parameters) -> expression 或 (parameters) ->{ statements; }

即: 参数 -> 带返回值的表达式/无返回值的陈述

例子:

传统写法:

public static void runSomeThing(){
        Runnable runnable =new Runnable() {
            @Override
            public void run() {
                System.out.println("old run!");
            }
        };
        new Thread(runnable).start();
    }

lambda表达式:

public static void runNew(){
        new Thread(() ->System.out.println("new run!")).start();
    }

上述代码中:() ->System.out.println("new run!")就是lambda表达式

可以看出,它代替了new Runnable(){}这个匿名内部类。

还有集合中:

        List<String> list =
                Arrays.asList("y","name","is","ber","and","uc");
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i));
        }
        System.out.println();
        list.forEach(str->System.out.print(str));

好处

显而易见的,好处就是代码量大大减少,程序逻辑清晰明了。

其缺点就是可读性较差,不容易理解。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值