无论我们使用的 JDK 版本如何,Java 8 都不会消失。Java 8 开启了 Java 的新时代,从 lambda 表达式、函数式编程到流和集合,DZone 都进行了记录。
在迁移到 Java 9 或 Java 11 甚至Java 13时,Java 8 的概念和特性在 JDK 中仍然非常活跃。理解这些核心概念在迁移到超越 Java 8时非常有帮助。
以下是关于 Java 8 的顶级 DZone 文章和教程:
基础部分
- Magic [Java] 8-ball:是学习 Java 8 的好起点,特别关注函数式编程。
- Java 8 Concepts: FP, Lambda Expressions, and Streams:涵盖 Java 8 的主要概念,包括向命令式范式的转换以及流和 lambda 的工作原理。
- Java 8 Comparator: How to Sort a List:使用
Comparator
方法对 Java 8 中的列表进行排序,展示如何按各种分类对字符串列表进行排序。 - A Guide to Java's SimpleDateFormat:介绍 Java 的
SimpleDateFormat
类用于格式化日期和时间的各种选项,但要注意它不是线程安全的。 - Java 8: The Bad Parts:探讨 Java 8 的流 API、lambda 表达式和
CompletableFuture
,展示它们带来的功能以及可以改进的地方。 - When Will Java 11 Replace Java 8 as the Default Java:简而言之,Java 8 不会消失。
- What Future Java Releases Will Mean for Legacy Desktop Apps:Java 11 意味着 Java Web Start 的结束,看看这对遗留桌面应用程序意味着什么,以及开发人员如何准备应对这一变化。
- Java 8 Optional: Handling Nulls Properly:通过使用
Optional
类来处理 Java 8 中的空属性,以减少空值错误。 - Using Java Enums:了解在 Java 中使用枚举的理想用例和最佳实践,包括如何使用枚举保持类型安全。
- Random Number Generation in Java:介绍在 Java 中创建随机(或几乎随机)数字的几种不同技术。
向函数式编程推进
- Functional Programming With Java 8 Functions:学习如何在 Java 8 中使用 lambda 表达式和匿名函数。
- Using Java 8? Please Avoid Functional Vomit:关于编写干净 Java 代码的一些思考。
- Functional Programming in Java 8系列:涵盖 Java 8 的主题,如动机、函数作为对象、可选值、流和分割器。
- Functional Programming Patterns With Java 8:从传统的命令式代码到 Java 8 中的函数式代码提供练习,不断追求编写更干净的代码。
Java 8 Lambda 表达式
- Lambda Expressions in Java 8:了解 lambda 表达式是什么以及它们如何融入整个 Java 生态系统。
- More on Lambda Expressions in Java 8:帮助理解 Java 8 的 lambda 表达式,展示如何使其运行。
- How to Handle Check Exceptions With Lambda Expression:演示如何在项目中使用 Java 8 和 lambda 表达式处理检查异常,以获得更简洁的代码。
- Java Lambda: Method References:了解 Java lambdas 的关键部分——方法引用,特别是静态引用、实例方法等。
- Functional Interface and Lambda Expressions in Java 8:查看在 Java 8 中使用带有函数式接口和 lambda 表达式的抽象方法,特别是不同输入的方法。
- How to Use Java HashMap Effectively:探索在 Java 8 及更高版本中实现
HashMap
的最佳实践,识别值或键、lambda 表达式等。 - 不要害怕 Lambda:学习何时在 Java 中使用 lambda 表达式,以及如何使用它们将代码重构为更整洁、更易读的代码片段,并提供一些示例。
Java 接口与默认方法
- Java 8 History: Interfaces:了解 Java 8 给接口带来的变化,包括默认方法、多重继承规则、共享方法和静态方法。
- Interface Default Methods in Java 8:学习如何在 Java 8 中使用接口默认方法,无需破坏现有代码。
- Cheatsheet: Java Functional Interfaces:涵盖 Java 中的 43 个函数式接口,包括它们的预期用途和正确实现的提示。
- When to Use Java 8 Default Methods in Interfaces:查看 Oracle 文档中关于何时应使用默认方法的内容,并了解这对接口的意义。
- Default and Private Methods in Interfaces:介绍 Java 8 给接口带来的默认方法和 Java 9 承诺带来的私有方法,并展示如何保持代码整洁。
Java 8 流与集合
- The Developer's Guide to Collections:涵盖集合接口、与集合相关的方法以及一般实现建议。
- Process Collections Easily With Stream in Java 8:学习如何使用流在 Java 8 中轻松处理集合,关注其特征、优点和缺点。
- Java 8 Map, Filter, and Collect Examples:学习如何使用
map()
函数转换对象,以及如何使用filter()
根据条件选择对象。 - Java 8 Streaming Example With CSV File:通过 Java 8 流 API 展示日常使用案例。
- Understanding FlatMap With Java Streams:介绍 Java 中函数式编程的一个关键概念——
flatMap
,展示其工作原理以及对流和可选值的影响。 - Iteration Over Java Collections With High Performance:比较
forEach
循环与 C 风格和流 API 在集合中的性能,得出重写循环最有效的结论。 - A Guide to Java 8 Streams: In-Depth Tutorial With Examples:深入介绍 Java 8 的流,展示如何在代码中最佳使用它们。
Java 8 API
- API Design With Java 8:通过掌握 Java 8 API 设计成为更好的 Java 程序员,包括暴露设计良好的 API、确保客户端代码可以使用 lambda 等。
- Java 8 Date and Time API:回顾 Java 8 如何改进日期和时间 API 以及如何使用它们。
- API Enhancements Missing Since Java 8:提出一些可以使 Java API 更用户友好的增强建议,读者意见不一。
- 20 Examples of Using Java's CompletableFuture:通过 20 个
CompletableFuture
的示例更好地理解CompletionStage
API。 - Interface Enhancement in Java 8:介绍接口自首次引入以来的重大改进,结合方法定义,提供更多灵活性。
Java 字符串(带示例)
- Java String Formatting Examples:提供 Java 字符串格式化的简要概述、几个示例和相关参考。
- Concatenating Strings in Java 8:回顾 Java 8 带来的字符串连接技巧,包括与流和可选值一起使用以及一般建议。
- We Don't Need StringBuilder for Simple Concatenation:介绍无需使用
StringBuilder
即可进行简单字符串连接的方法,编译器可以处理。 - Think Twice Before Using Java 8 Parallel Streams:探讨在使用 Java 8 并行流之前应三思而后行的原因。
- Convert a List to a Comma-Separated String in Java 8:演示如何在 Java 8 和 Java 7 中使用流将列表转换为逗号分隔的字符串。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。