Skip to content

Commit 512278d

Browse files
committed
添加菜单
1 parent e824502 commit 512278d

10 files changed

+19
-11
lines changed

README.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* [前言](Preface.md)
1616
* [第一部分:泛型](ch01/00_Introduction.md)
1717
* [第一章(简介)](ch01/00_Introduction.md#第一章(简介))
18-
* [1.1 泛型](ch01/01_Generics.md#泛型)
18+
* [1.1 泛型](ch01/01_Generics.md#泛型)
1919
* [1.2 装箱与拆箱](ch01/02_Boxing_and_Unboxing.md#装箱与拆箱)
2020
* [1.3 循环](ch01/03_Foreach.md#循环)
2121
* [1.4 泛型方法和可变参数](ch01/04_Generic_Methods_and_Varargs.md#泛型方法和可变参数)
@@ -38,7 +38,7 @@
3838
* [3.6 多重界限](ch03/06_Multiple_Bounds.md)
3939
* [3.7 桥梁](ch03/07_Bridges.md)
4040
* [3.8 协变覆盖](ch03/08_Covariant_Overriding.md)
41-
* [第四章(声明)](ch04/00_Declarations.md)
41+
* [第四章(声明)](ch04/00_Declarations.md)
4242
* [4.1 构造函数](ch04/01_Constructors.md)
4343
* [4.2 静态成员](ch04/02_Static_Members.md)
4444
* [4.3 嵌套类](ch04/03_Nested_Classes.md)
@@ -49,6 +49,14 @@
4949
* [5.3 具有传统客户端的通用库](ch05/03_Generic_Library_with_Legacy_Client.md)
5050
* [5.4 具有通用客户端的旧版库](ch05/04_Legacy_Library_with_Generic_Client.md)
5151
* [5.5 结论](ch05/05_Conclusions.md)
52+
* [第六章(具体化)](ch06/00_Reification.md)
53+
* [6.1 可定义类型](ch06/01_Reifiable_Types.md)
54+
* [6.2 实例测试和示例](ch06/02_Instance_Tests_and_Casts.md)
55+
* [6.3 异常处理](ch06/03_Exception_Handling.md)
56+
* [6.4 数组创建](ch06/04_Array_Creation.md)
57+
* [6.5 广告中的真理原则](ch06/05_The_Principle_of_Truth_in_Advertising.md)
58+
* [6.6 不雅暴露的原则](ch06/06_The_Principle_of_Indecent_Exposure.md)
59+
* [6.7 如何定义 ArrayList](ch06/07_How_to_Define_ArrayList.md)
5260

5361
## PR
5462
提交 PR 前请先确认排版,示例: [中文文案排版](https://github.com/maskleo-doc/chinese-copywriting-guidelines)

ch06/01_Reifiable_Types.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](00_Reification.md)
33

4-
## 可定义类型
4+
### 可定义类型
55

66
`Java` 中,数组的类型是用其组件类型来表示的,而参数化类型的类型是在没有其类型参数的情况下被指定的。 例如,一个数组的数组将带有指定类型
77
`Number []`,而一个数字列表将带有指定类型 `ArrayList`,而不是 `ArrayList<Number>`; 原始类型,而不是参数化类型被通用化。 当然,列表中的每个元素都会附

ch06/02_Instance_Tests_and_Casts.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](01_Reifiable_Types.md)
33

4-
## 实例测试和示例
4+
### 实例测试和示例
55

66
实例测试和示例取决于运行时检查的类型,因此取决于具体化。 因此,针对不可修饰类型的实例测试会报告错误,并且对不可修饰类型进行强制转换通常会发出警告。
77

ch06/03_Exception_Handling.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](02_Instance_Tests_and_Casts.md)
33

4-
## 异常处理
4+
### 异常处理
55

66
`try` 语句中,每个 `catch` 子句检查抛出的异常是否与给定的类型匹配。 这与实例测试执行的检查相同,因此也适用相同的限制:该类型必须是可验证的。 此
77
外,`catch` 子句中的类型必须是 `Throwable` 的子类。 由于创建不能出现在 `catch` 子句中的 `Throwable` 的子类没什么意义,因此如果您尝试创建

ch06/04_Array_Creation.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](03_Exception_Handling.md)
33

4-
## 数组创建
4+
### 数组创建
55

66
数组通过它们的组件类型来进行通用化,这意味着它们携带有关组件类型的运行时信息。 此实体类型信息用于实例测试和强制转换,还用于检查是否允许分配到数组组
77
件。

ch06/05_The_Principle_of_Truth_in_Advertising.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](04_Array_Creation.md)
33

4-
## 广告中的真理原则
4+
### 广告中的真理原则
55

66
在前面的章节中我们看到,将集合转换为数组的简单方法将不起作用。 我们可能会尝试的第一个解决方案是添加一个未经检查的演员表,但我们很快会看到,这导致更令
77
人困惑的问题。 正确的解决方案需要我们去反思。 由于将任何泛型结构转换为数组时都会出现相同的问题,因此值得了解这些问题及其解决方案。 我们将研究上一节中

ch06/06_The_Principle_of_Indecent_Exposure.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](05_The_Principle_of_Truth_in_Advertising.md)
33

4-
## 不雅暴露的原则
4+
### 不雅暴露的原则
55

66
尽管创建一个不可赋予的组件类型的数组是错误的,但可以声明一个具有这种类型的数组,并对此类型执行未经检查的转换。 必须谨慎使用这些功能,如果使用不当,有
77
必要了解可能出现的问题。 特别是,一个库不应公开公开一个具有不可确定类型的数组。

ch06/07_How_to_Define_ArrayList.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](06_The_Principle_of_Indecent_Exposure.md)
33

4-
## 如何定义 ArrayList
4+
### 如何定义 ArrayList
55

66
我们在其他地方争辩说,通常最好使用列表而不是使用数组。有一些地方这不合适。在极少数情况下,出于效率或兼容性的原因,您将需要使用数组。另外,当然,你需要使
77
用数组来实现 `ArrayList` 本身。在这里,我们将 `ArrayList` 的实现作为一种模型,在极少情况下需要使用数组。这些实现需要谨慎编写,因为它们必然涉及使用未经

ch14/00_Queues.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](../ch13/02_SortedSet_and_NavigableSet.md)
33

4-
# Queues
4+
## Queues
55

66
队列是一个集合,用于保存要处理的元素,并按照它们要处理的顺序生成它们。相应的集合框架接口队列(参见图 `14-1`)有许多不同的实现,它们体现了关于这个顺序应该是什么的不同规则。许多实现使用的规则是按照提交顺序处理任务(先进先出或 `FIFO`),但也可以使用其他规则 - 例如,集合框架包括处理顺序为基于任务优先级。`Queue` 接口是在 `Java 5` 中引入的,部分原因是该版本中包含的并发实用程序中需要队列。看一下图 `14-2` 所示的实现层次结构,事实上,集合框架中几乎所有的 `Queue` 实现都在 `java.util.concurrent` 包中。
77

ch14/01_Using_the_Methods_of_Queue.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
《《《 [返回首页](../README.md) <br/>
22
《《《 [上一节](00_Queues.md)
33

4-
## 使用队列方法
4+
### 使用队列方法
55

66
我们来看看使用这些方法的例子。 队列应该提供一个实现任务管理器的好方法,因为它们的主要目的是生成要处理的元素,比如任务。 目前我们将使用 `ArrayDeque` 作为队列中最快和最直接的实现(当然也是 `Deque`)。 但是,像以前一样,我们只限于接口的方法 - 尽管您应该注意到,在选择队列实现时,您也正在选择一种排序。使用 `ArrayDeque`,您可以获得 `FIFO` 订购 - 当然,我们尝试使用花哨的调度方法进行组织,似乎无法很好地工作; 也许是时候尝试一些简单的事情了。
77

0 commit comments

Comments
 (0)