java8 Lamba表达式

首先弄清函数式接口Lamba表达式关系?(红色部分概念自行google)

       只有有了函数式接口才可以写lamba表达式。

一、java内置的四种函数式接口

1. Predicate < T >接口是只有一个参数的返回布尔类型值的 断言型 接口

     boolean test(T t);

2.Function <R , T >接口

         R apply(T t)

3.Supplier <t>供给型接口

        T get();

4.Consumer < T>消费型接口

       void accpet(T t)

通过api提供的这四种函数式接口就可以写各种Lamba表达式了。

可以这样来理解:使用Lambda表达式,实际就是创建出该接口的实例对象。

Consumer实现例子

public class TestLamba{
    public void test(){
        happen(1000, (m) -> System.out.printLn("一共消费" + m + "元"));
    }

//一般都是将给定的四个接口·在传入一个方法中封装一次,后面再另一个方法具体实现该方法
    public void happen(double money, Consumer<Double> con{
        con.accpet(money);
    }
}

上面  (m) -> System.out.printLn("一共消费" + m + "元")) 相当于具体实现accept函数(按此方式理解, 只不过实现方式十分自由)

 

Supplier 实现例子

    

理解他们关系后可学习:java8新特性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值