File tree 1 file changed +13
-57
lines changed
1 file changed +13
-57
lines changed Original file line number Diff line number Diff line change
1
+ 《《《 [ 返回首页] ( ../README.md ) <br />
2
+ 《《《 [ 上一节] ( 01_Constructors.md )
3
+
1
4
## 静态成员
2
5
3
- 因为泛型是通过擦除编译的,所以在运行时类` List<Integer> ` ,` List<String> ` 和 ` List<List<String>> ` 全部由一个类实现,即 ` List ` 。你可以看到这个使用反射:
6
+ 因为泛型是通过擦除编译的,所以在运行时类` List<Integer> ` ,` List<String> ` 和 ` List<List<String>> ` 全部由一个类实现,即 ` List ` 。你可以看到这个使用
7
+ 反射:
4
8
5
9
``` java
6
10
List<Integer > ints = Arrays . asList(1 ,2 ,3 );
10
14
11
15
这里在运行时与整数列表关联的类与与字符串列表关联的类相同。
12
16
13
- 其中一个结果是泛型类的静态成员在该类的所有实例上共享,包括不同类型的实例。 类的静态成员不能引用泛型类的类型参数,并且在访问静态成员时,不应该对类名称进行参数化。
17
+ 其中一个结果是泛型类的静态成员在该类的所有实例上共享,包括不同类型的实例。 类的静态成员不能引用泛型类的类型参数,并且在访问静态成员时,不应该对类名称
18
+ 进行参数化。
14
19
15
20
例如,下面是一个类 ` Cell<T> ` ,其中每个单元格都有一个整型标识符和一个类型为 ` T ` 的值:
16
21
27
32
}
28
33
```
29
34
30
- 静态字段 ` count ` 用于为每个单元分配不同的标识符。 静态 ` nextId ` 方法被同步,以确保即使在多个线程的情况下也能生成唯一的标识符。 静态 ` getCount ` 方法返回当前计数。
35
+ 静态字段 ` count ` 用于为每个单元分配不同的标识符。 静态 ` nextId ` 方法被同步,以确保即使在多个线程的情况下也能生成唯一的标识符。 静态 ` getCount ` 方
36
+ 法返回当前计数。
31
37
32
38
这里是分配包含字符串的单元格和包含整数的单元格的代码,它们分别分配了标识符 ` 0 ` 和 ` 1 ` :
33
39
61
67
}
62
68
```
63
69
64
- 由于类可能在不同的地方使用不同的类型参数,因此在声明静态字段值或静态方法 ` getValues() ` 时引用 ` T ` 是没有意义的,并且这些行在编译时会报告为错误。如果我们想要一个单元格中保存的所有值的列表,那么我们需要使用一个对象列表,如下面的变体所示:
70
+ 由于类可能在不同的地方使用不同的类型参数,因此在声明静态字段值或静态方法 ` getValues() ` 时引用 ` T ` 是没有意义的,并且这些行在编译时会报告为错误。如果
71
+ 我们想要一个单元格中保存的所有值的列表,那么我们需要使用一个对象列表,如下面的变体所示:
65
72
66
73
``` java
67
74
class Cell2 <T> {
81
88
assert Cell2 . getValues(). toString(). equals(" [one, 2]" );
82
89
```
83
90
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
-
91
+ 《《《 [ 下一节] ( 03_Nested_Classes.md ) <br />
92
+ 《《《 [ 返回首页] ( ../README.md )
You can’t perform that action at this time.
0 commit comments