Skip to content

Commit df5a8ed

Browse files
author
maskleo
authoredMar 21, 2018
Update 00_Introduction.md
1 parent ce255bf commit df5a8ed

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed
 

‎ch01/00_Introduction.md

+18-17
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,25 @@
44

55
## 第一章(简介)
66

7-
  `Java` 最新版本中现在对泛型和集合与许多其他新功能有良好的支持,包括装箱和拆箱,新的循环形式,以及接受可变数量参数的函数。我们从一个例子开始说明
8-
了这些。 我们将会看到,将它们相结合是协同的:整数求和。
7+
`Java` 最新版本中现在对泛型和集合与许多其他新功能有良好的支持,包括装箱和拆箱,新的循环形式,以及接受可变数量参数的函数。我们从一个例子开始说明了这
8+
。 我们将会看到,将它们相结合是协同的:整数求和。
99

10-
  因此作为我们的座右铭,让我们做一些简单求和:把三个数字一个列表并将它们加在一起。 下面是如何在`Java`中使用泛型:  
10+
因此作为我们的座右铭,让我们做一些简单求和:把三个数字一个列表并将它们加在一起。 下面是如何在`Java`中使用泛型:  
11+
1112
```java
1213
List<Integer> ints = Arrays.asList(1,2,3);
1314
int s = 0;
1415
for (int n : ints) { s += n; }
1516
assert s == 6;
1617
```
1718

18-
  不需要太多的解释你就可以读懂代码,但是让我们来看看关键特征。接口列表和类数组是集合框架的一部分(都可以在 `java.util` 包中找到)。类型 `List`
19-
在是通用的;你写 `List<E>` 以指示具有类型 `E` 的元素的列表。这里我们写 `List<Integer>` 指出列表的元素属于 `Integer` 类,即包装类对应于基本类型
20-
`int`装箱和拆箱操作,用于转换从原始类型到包装类,自动插入。静态方法 `asList` 可以使用任意数量的参数,将它们放入一个数组中,然后返回一个由数组支持
21-
的新列表。新的循环形式,`foreach`,被用来绑定一个变量依次到列表的每个元素,循环体将这些添加到总和中。该断言语句(在 `Java1.4` 中引入)用于检查总和是
22-
否正确。当启用断言时,如果条件不成立,则会引发错误。
19+
不需要太多的解释你就可以读懂代码,但是让我们来看看关键特征。接口列表和类数组是集合框架的一部分(都可以在 `java.util` 包中找到)。类型 `List` 现在是
20+
通用的;你写 `List<E>` 以指示具有类型 `E` 的元素的列表。这里我们写 `List<Integer>` 指出列表的元素属于 `Integer` 类,即包装类对应于基本类型`int`
21+
装箱和拆箱操作,用于转换从原始类型到包装类,自动插入。静态方法 `asList` 可以使用任意数量的参数,将它们放入一个数组中,然后返回一个由数组支持的新列
22+
。新的循环形式,`foreach`,被用来绑定一个变量依次到列表的每个元素,循环体将这些添加到总和中。该断言语句(在 `Java1.4` 中引入)用于检查总和是否正
23+
。当启用断言时,如果条件不成立,则会引发错误。
2324

24-
  下面是在泛型之前 `Java` 中相同作用的代码:
25+
下面是在泛型之前 `Java` 中相同作用的代码:
2526

2627
```java
2728
List ints = Arrays.asList( new Integer[] {
@@ -35,12 +36,12 @@
3536
assert s == 6;
3637
```
3738

38-
  阅读这段代码并不是那么容易。 没有泛型,就没有办法指出类型声明你打算在列表中存储什么样的元素,所以而不是写 `List<Integer>`,你写 `List`。  现在是
39-
编辑器而不是编译器谁负责记住列表元素的类型,所以你必须写下从列表中提取元素时将其转换为(整数)。 没有装箱和拆箱,你必须显式地分配属于包装类
40-
`Integer` 的每个对象并使用 `intValue` 方法提取相应的基元 `int`。 没有功能接受可变数量的参数,您必须显式地分配一个数组传递给`asList`方法。 没有新的
41-
循环形式,你必须显式声明一个迭代器,并通过列表推进。
39+
阅读这段代码并不是那么容易。 没有泛型,就没有办法指出类型声明你打算在列表中存储什么样的元素,所以而不是写 `List<Integer>`,你写 `List`。  现在是
40+
编辑器而不是编译器谁负责记住列表元素的类型,所以你必须写下从列表中提取元素时将其转换为(整数)。 没有装箱和拆箱,你必须显式地分配属于包装类`Integer`
41+
的每个对象并使用 `intValue` 方法提取相应的基元 `int`。 没有功能接受可变数量的参数,您必须显式地分配一个数组传递给`asList`方法。 没有新的循环形式,
42+
你必须显式声明一个迭代器,并通过列表推进。
4243

43-
  顺便说一句,下面是如何在泛型之前用 `Java` 中的数组做同样的事情:
44+
顺便说一句,下面是如何在泛型之前用 `Java` 中的数组做同样的事情:
4445

4546
```java
4647
int[] ints = new int[] { 1,2,3 };
@@ -49,10 +50,10 @@
4950
assert s == 6;
5051
```
5152

52-
  这比使用泛型和集合的相应代码略长,可以说是不太可读,而且肯定不够灵活。 集合让你轻松增大或缩小集合的大小,或在切换到适当的不同的表示形式时,如链表
53-
或散列表或有序树`java` 的泛型,装箱和拆箱,`foreach` 循环和 `Java` 中的可变参数标志着第一次使用集合与使用数组一样简单,甚至可能更简单。
53+
这比使用泛型和集合的相应代码略长,可以说是不太可读,而且肯定不够灵活。 集合让你轻松增大或缩小集合的大小,或在切换到适当的不同的表示形式时,如链表或散
54+
列表或有序树`java` 的泛型,装箱和拆箱,`foreach` 循环和 `Java` 中的可变参数标志着第一次使用集合与使用数组一样简单,甚至可能更简单。
5455

55-
  现在我们来看一下这些功能的更多细节。
56+
现在我们来看一下这些功能的更多细节。
5657

5758
《《《 [下一节](01_Generics.md) <br/>
5859
《《《 [返回首页](../README.md)

0 commit comments

Comments
 (0)