Skip to content

Commit

Permalink
第十四章 修正Optional类标题下的第一段 (lingcoder#595)
Browse files Browse the repository at this point in the history
* 修正Optional类标题下的第一段

这段的译文确实不太好懂,所以我尝试着修改了一下。
不过,Happy Path 这个词没似乎没有正式的术语。
有道词典显示,有36个网页翻译成了「快乐路径」,有4个网页翻译成了「愉悦路径」,因此我采取了「快乐路径」这个译法。

* Update 14-Streams.md

空流应该还是更准确一点吧。。。囧

* Change the position of the footnote....
  • Loading branch information
wisim authored Sep 27, 2020
1 parent 7285c02 commit 8fcffc3
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion docs/book/14-Streams.md
Original file line number Diff line number Diff line change
Expand Up @@ -1138,7 +1138,7 @@ is it
<!-- Optional -->
## Optional

在我们学习终端操作(Terminal Operations)之前,我们必须考虑如果你在一个空流中获取元素会发生什么。我们喜欢为了“happy path”而将流连接起来,并假设流不会被中断。在流中放置 `null` 是很好的中断方法。那么是否有某种对象,可作为流元素的持有者,即使查看的元素不存在也能友好地提示我们(也就是说,不会发生异常)?
在我们学习终端操作(Terminal Operations)之前,我们必须考虑在一个空流中获取元素会发生什么。我们喜欢沿着“快乐路径”[^1]把流连接起来,同时假设流不会中断。然而,在流中放置 `null` 却会轻易令其中断。那么是否存在某种对象,可以在持有流元素的同时,即使在我们查找的元素不存在时,也能友好地对我们进行提示(也就是说,不会产生异常)?

**Optional** 可以实现这样的功能。一些标准流操作返回 **Optional** 对象,因为它们并不能保证预期结果一定存在。包括:

Expand Down Expand Up @@ -2144,6 +2144,8 @@ IntSummaryStatistics{count=100, sum=50794, min=8, average=507.940000, max=998}

流式操作改变并极大地提升了 Java 语言的可编程性,并可能极大地阻止了 Java 编程人员向诸如 Scala 这种函数式语言的流转。在本书的剩余部分,我们将尽可能地使用流。

[^1]: 在软件或信息建模的上下文中,快乐路径(有时称为快乐流)是没有异常或错误条件的默认场景。例如,验证信用卡号的函数的快乐路径应该是任何验证规则都不会出现错误的地方,从而让执行成功地继续到最后,生成一个积极的响应。[见 wikipedia: happy path](https://en.wikipedia.org/wiki/Happy_path)

<!-- 分页 -->

<div style="page-break-after: always;"></div>

0 comments on commit 8fcffc3

Please sign in to comment.