001 lambda表达式的引入
Posted trekxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了001 lambda表达式的引入相关的知识,希望对你有一定的参考价值。
一 . 概述
在java8之中,为我们引入了lambda表达式的概念,我们通过这个概念可以实现函数式编程的理念.
本次,我们从最初的概念之中推到出lambda表达式.
二 .匿名内部类的演化
new Thread(new Runnable() { @Override public void run() { for (;;) System.out.println("running...."); } }).start();
上面的代码表现的就是我们以前使用匿名内部类的方式,我们可以自己的观察这个这个语法的表达式,实际上我们的匿名内部类就是一个函数式参数的概念.
本质上,我们的匿名内部类就是一个函数参数.
在java8之中,将这中复杂的表达方式进行了简化,变成了下面的方式.
new Thread(() -> { for (;;) System.out.println(); }).start();
我们可以看到,代码进行了很多的简化.
三 .lambda表达式的使用条件----函数式接口
首先我们需要声明一下函数式接口的概念:
一个接口之中,只有一个抽象的方法,那么这个接口我们就称为函数式接口.(在java8之中,在接口之中出现了静态的方法和默认的方法).
那么,lambda的使用条件就是函数式接口,一个lambda表达式就是一个函数式参数.
四 . lambda表达式的语法格式
首先我们声明一个最全的语法格式:
(方法参数列表) -> {表达式body}.
在上面的最全的结构之中,由于一些特殊性,我们可以省略掉一下语法的格式不去写.
本次我们不去讨论怎么最简化的写出一个lambda表达式来.
以上是关于001 lambda表达式的引入的主要内容,如果未能解决你的问题,请参考以下文章