如何通过创建自己的库来使用lambda表达式和函数式接口。
所有的lambda表达式都是延迟执行的。如果你希望一段代码立即执行,那必须要使用lambda表达式。延迟执行的一些原因如下:
a、在另一个线程中运行代码。
b、多次运行代码。
c、在某个算法正确的时间点上运行代码。
d、当某些情况发生时才运行代码。
e、只有在需要的时候才运行代码。
当使用lambda编程时,需要事先考虑一下希望达到什么样的效果。
如果你想要延时处理,你的AP需要能够区分出哪些是积累已完成任务的中间操作,哪些是用来产生结果的终止操作。
当表达式操作作为函数接口时,调用者就放弃了对处理细节的控制。只要应用了操作,就好得到正确的结果,有开发者可能会抱怨,但其带来的好处是对并发支持会相对的好一些。在过程中需要考虑如何处理和报告在lambda表达式执行过程中可能会发生的异常。
一般来说,lambda表达式可以与泛型很好地一起工作。但有一些问题需要谨记,如类型擦除会导致无法在运行时创建一个泛型数组。