毫无疑问,Java 8 引入的新特性(特别是 lambda 表达式和 Stream API)让这门语言经历了一次巨大的飞跃。多年来,我一直是 Java 8 的忠实用户,并在各种会议、研讨会以及博客上不遗余力地向开发人员介绍这些新特性。我很清楚,尽管 lambda 表达式和流让 Java 具备了更多函数式编程的特点(并行处理的威力也得以发挥),不过它们并非吸引开发人员的真正原因。新的习惯用法能让解决特定问题变得更为简单和高效,这才是 Java 8 备受追捧的根源所在。

作为一名程序员、演讲者和撰稿人,我不仅希望其他开发人员注意到 Java 语言的演变,还希望能展示这些演变是如何提高工作效率的。我们可以采用更简单的方法解决问题,甚至还能解决不同类型的问题。我之所以欣赏本书作者 Ken Kousen 的工作,是因为他在写作时严格遵循以下原则:帮助读者获取新知识,避免将时间花在已经了解或不需要的细节上。Ken 专注于对一线开发人员有价值的那些技术。

我第一次接触到 Ken 的工作,是他在 JavaOne 2013 会议上发表题为“Making Java Groovy: Simplify Your Java Development with Groovy”的演讲时。那时,我所在的团队正在为编写易读且有用的测试而殚精竭虑,我们所考虑的一种解决方案正是 Groovy。作为一名长期使用 Java 的程序员,我不愿意为了编写测试而去学习一门全新的语言,特别是我自认为已经了解如何编写测试时。然而,聆听 Ken 为 Java 程序员所做的 Groovy 介绍让我受益匪浅,他并未重复那些我已烂熟于心的内容,而是直入正题,使我迅速掌握了许多所需的知识。我意识到,选择合适的学习材料能极大地提高学习效率,我不必为了一个环节的应用而将一门语言的细枝末节全部吃透。因此,我立即购买了 Ken 撰写的 Making Java Groovy 一书 1。

1该书由 Manning Publications 于 2013 年 9 月出版,Ken 在 JavaOne 2013 会议上的演讲即以此为题。——译者注

本书延续了类似的主题。作为经验丰富的开发者,我们无须像初学者一样学习 Java 8 和 Java 9 引入的所有新特性,也没有时间这样做。我们需要的是一本能迅速查找相关特性介绍的指南,并给出可以用于实际开发的示例。本书就是这样一本指南。书中范例来自开发人员在日常工作中遇到的问题,并介绍了如何利用 Java 8 和 Java 9 的新特性解决这些问题,从而以更自然的方式让开发人员对这门语言的变化了然于心。我们可以举一反三,将所学的知识运用到实际开发中。

即便是 Java 8 和 Java 9 的长期使用者,依然可以从本书中受到启发。有关归约运算符的讨论切实加深了我对这种函数式编程风格的理解,而且我也无须重新理清思路。专门探讨 Java 9 新特性的章节正是开发人员所需要的,这些新特性尚未广为人知。本书提供了一种很好的方法,能够帮助读者快速有效地了解 Java 的最新发展。对所有希望提高自身知识水平的 Java 开发人员而言,本书堪称良师益友。

 

Trisha Gee

Java Champion

JetBrains 公司 Java 布道师