两篇 Java lambda 表达式文章

先挂上链接 <State of the Lambda> <State of the Lambda: Libraries Edition> .

这是我阅读的关于 Java8 Lambda 表达式最清晰而且易懂的文章, 读完之后我便将我们部门的游戏管理后台转为支持 Java8, 并且使用了 Lambda 表达式来做一些排序, 的确会更加的简洁, 也就是说 Java 的表达力变强了.

这两篇文章比较清晰的解释了为何 Java 的 Lambda 表达式会如此设计, 以及其类库所提供的便捷工具, 加之由于 Lambda 表达式带来接口默认方法等的语言变化. 扯一下我自己对 Java 语言的感觉, 3 年前我第一次用 Java 语言是写了一个贪吃蛇, 如今这份代码还在我的移动硬盘中, 我也曾拿着这份代码去面试工作, 但一无所成, 那个时候觉得真心不懂编程. 那时候其实觉得 Java 蛮强大, 提供了各种很强大的类库, 特别是容器类、并发类、反射等很强大的编程工具; 慢慢接触了泛型之后, 就会觉得说 Java 的泛型很奇怪很坳手, 擦除的缘故也是为了兼容之前的 JDK 版本, 我便开始觉得 Java 语言并没有想象的那么完美. 继而之后到了 Java8, 以及自己对 Java 语言越来越熟练, 我开始知道了解 Java 的坑之后, 能够更加好去避免那些坑.

Lambda 表达式用来实现代码即数据(code as data), 之前版本的 Java 更多会使用内部类来实现这个功能, 即提供只有一个方法的接口, 然后用一个匿名内部类来实现它. Java8 增强了之前的类型推导、函数式接口, 以及增加了默认方法和静态接口方法、方法引用以及通过 Stream 类库带来的一系列功能的提升.

我对于 Java8 的了解并不深入, 但我阅读完这两篇文章之后并不会觉得 Java Lambda 有多难, 所谓工具和知识就是不知道也能将工作做完, 但是知道了就做得更快, 而且使用的越多就越发了解.

Leave a Reply

Your email address will not be published. Required fields are marked *