距java8面世已过去多年,然而真正比较系统完整地去了解它却是不久前才开始的。主要的阅读来源是各类博客和《java8实战》这本书。通读之后感觉是非常值得自己更加深入去研究学习的一部分内容。于是开了这个专题来记录一下一些阅读学习小结。
从个人角度看来,java8最大的更新使用应该主要包含以下几个部分:lambada表达式、stream流、optional对象和completableFuture类。这个系列应该也会随着学习的深入、按照这个分类来逐步做更新。下面我们开始第一部分,lambada表达式。
或许有不少人跟我一样,最初接触到 lambada表达式的使用,是在使用 java8的另一个特性,stream流的时候。对于stream中的几个常用操作,像filter、map、forEach等等,都涉及到 lambada 表达式。在现在的我看来,lambada表达式是为了更好地支持 行为参数化。行为参数化,顾名思义就是可以将一些列数据操作行为(curd)作为函数的入参进行传递,在不同的场景下调用不同的行为操作,使得代码的逻辑更加灵活。其实,java这个语言很早就有了对行为参数化的支持,其中大家印象最深刻的可能是创建线程的时候需要实现的 runnable接口,runnable接口只有一个待实现的run方法,不管你是显示创建一个runnable的实现类,或是通过匿名类的形式实现的接口,其实你真正关注的是这个线程启动后的行为,只不过当时没有把这一行为也抽象为一种类型,要传递这一行为就需要给他包上一层类的外壳,也就是runnable接口。
而在java8中&#x