Lambda学习
先看一个简单的lambda表达式:
Runnable r = () -> {System.out.println("Hello Lambda!");};
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。啥意思?
lambda表达式有三部分组成:参数列表,箭头(->),以及一个表达式或语句块
点开Runnable源码:
@FunctionalInterface public interface Runnable { public abstract void run(); }
@FunctionalInterface 声明了是函数接口(只有一个抽象方法(重写的不算))
这时候,是不是有点明白了:
() -> {System.out.println("Hello Lambda!");};这个语句,实际上,不就是实现了Runnable接口的run方法?
这也明白了为什么lambda表达式需要函数接口了(要是有多个方法,就没办法知道{语句}是属于哪个方法的了)
jdk预定义了一些函数接口在java.util.function包下(有什么用?往下看),打开jdk如下图:


更多精彩