#前言 Lambda表达式是Java8的一个特性,而Java8是2014发布的,那时候我刚上大学,还没认识Java呢。过了很长一段时间才学习了Lambda表达式,但是一直没怎么用过,已经忘了差不多了,所以现在特地复习一下。
学一个东西我们得知道它是什么,有什么用,怎么用。
#是什么 从不同角度上来说,Lambda表达式是一个语法糖,也可以说是匿名函数。
##语法糖 何谓语法糖,我的理解是语法糖就是方便程序员开发的一个功能的简化语法。举个栗子,在Java5中出现的增强for循环:foreach,我们一般是这么使用的
List<Integer> nums = new ArrayList<>();
for (Integer n : nums) {
System.out.println(n);
}
那其实反编译以后是下面这样子的
List nums = new ArrayList();
Integer n;
for(Iterator iterator = nums.iterator(); iterator.hasNext(); System.out.println(n))
n = (Integer)iterator.next();
如果让我们写起来麻烦吧,我们用foreach语法完成了迭代器迭代的功能,但却写了更少的代码,这就是语法糖的作用。至于其中还有类型擦除,想要了解的可以去这里看看详解J