From 9d164796566062fc355c3d2615b8554f47c03374 Mon Sep 17 00:00:00 2001 From: LingCoder Date: Sun, 7 Apr 2019 15:11:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=A1=E8=AE=A2=20=E7=AC=AC14=E7=AB=A0?= =?UTF-8?q?=E6=B5=81=E5=BC=8F=E7=BC=96=E7=A8=8B#=E6=B5=81=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/book/14-Streams.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/book/14-Streams.md b/docs/book/14-Streams.md index f065417..6eac5ba 100644 --- a/docs/book/14-Streams.md +++ b/docs/book/14-Streams.md @@ -8,13 +8,13 @@ Java 设计者面临着一个难题。他们拥有着一系列已经存在的库,这些库不仅仅在 Java 库本身中所使用,并且被用户编写的数百万行代码中使用。那他们如何将一个全新的流的基本概念融入到已经存在的库中? -例如一个简单的例子 `Random`,他们只是增加了更多的方法。只要现有方法没有被改变,遗留代码就不会受到干扰。 +比如一个简单的例子 **Random**,他们只是增加了更多的方法。只要现有方法没有被改变,遗留代码就不会受到干扰。 -一个巨大的挑战来自于使用接口的库。集合类是其中重要的组成部分,因为你想把一个集合转换为流。但是如果你只是在一个接口中增加了一个新的方法,你就会破坏所有实现了你的接口,但是没有实现你新增方法的类。 +最大的挑战来自使用接口的库。集合类是其中重要的组成部分,因为你想把一个集合转换为流。如果向接口添加新方法,则会破坏实现接口但未实现新方法的每个类。 -解决方法在 Java 8 中被引入,就是接口中的 **default** 方法。这个机制在「接口」那一章有介绍。通过 **default** 方法, Java 设计者可以将 stream 方法嵌入到现有类中,他们几乎添加了每一种你可能需要的操作。流方法有三种类型的操作:创建流,修改流中的元素(中间操作, intermediate operations),消费流中的元素(终端操作, terminal operations)。最后一种操作常常代表着收集流中的元素(经常是收集到一个集合中)。 +Java 8 中引入的解决方案是在[接口](10-Interfaces.md)中添加 **default**(**默认**)方法。通过这种方案,设计者们可以很平滑地将流式(*stream*)方法转换到现有类中。同时,流方法预置的操作几乎满足了我们平常所有的需求。流操作有三种类型:创建流,修改流元素(中间操作, *Intermediate Operations*),消费流元素(终端操作, *Terminal Operations*)。最后一种类型通常意味着收集流元素(通常是到集合中)。 -接下来我们查看每一种类型的流操作。 +下面我们来看看每一种类型的流操作。 ## 流创建