我爱辅助网2:你知道为什么会有Lambda表达式吗?
前言
Java8有一些新的特性,今天老顾给大家分享一下关于Lambda表达式的由来,一开始感觉Lambda可读性蛮差的,不知道为什么Java8会出来这个表达式?既然大佬们推出来,肯定是有原因的,应该是为了解决一些问题,那我们就看看解决了什么问题?
案例
班导想了解一下各个同学的相关情况:
1、来自苏州的有哪些同学
上面的伪代码,是不是很简单,写一个方法,直接过滤出苏州地区的学生。
班导又想知道来自北京的有哪些同学,那代码执行优化一下,可以动态传地区参数。
这样是不是就解决了,所有地区的查询问题,把地区作为一个参数。
问题好像得到了解决,突然班导又要知道同学们的年龄分布。
3、可以查出20岁以上的学生
这一次直接到位,把年龄参数化。
我们发现因为班导的两个需求,根据地区和年龄查找学生,我们程序员提供了两个方法,filterStudentByArea和filterStudentByAge。
我们小伙伴们有没有发现,此两个方法里面的代码是不是很像,有很多重复的代码。不过满足需求就行了,还能接受是吧。
因为上面是两个方法,很多小伙伴会想到可以改成一个方法,用flag标记查询的业务。
改造一下