JAVA函数式接口与Lambda表达式

函数式接口

有且只有一个抽象方法,多个非抽象方法的抽象类

熟悉的函数式接口有:
        java.lang.Runnable
        java,util.Comparator
JDK 1.8 后新增加的函数式接口包:
        java.util.function

函数式接口可以隐式的转化为lambda表达式

    //遍历集合
    List list = Arrays.asList(1,2,3,4,5,6,7);
    list.forEach(ele -> System.out.println(ele));

    // 删除偶数元素
    list.removeIf(ele  ->  ((int)ele)% 2 == 0);

Lambda 表达式

lambda 表达式可以理解是一个匿名函数,也可以用lambda表达式去表示一个匿名内部类

语法结构:
(参数列表)->{表达式;}
(参数列表):可以看做方法的参数
{表达式;}:是方法体

// 内部类和lambda实现的对比
Runnable run = new Runnable()
{
    @Override
    public void run()
    {
        System.out.println("内部类");

    }
};
run.run();

Runnable runl = ()->System.out.println("Lambda");
runl.run();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值