Skip to content

Commit 0a7f8cd

Browse files
authored
Update 06_Reflecting_Generic_Types.md
1 parent 671398b commit 0a7f8cd

File tree

1 file changed

+11
-39
lines changed

1 file changed

+11
-39
lines changed

ch07/06_Reflecting_Generic_Types.md

Lines changed: 11 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
《《《 [返回首页](../README.md) <br/>
2+
《《《 [上一节](05_Reflection_for_Generics.md)
3+
14
## 反映泛型类型
25

36
反射库提供了一个 `Type` 接口来描述一个通用类型。 有一个类实现了这个接口和四个其他接口来扩展它,对应于五种不同的类型:
@@ -16,7 +19,9 @@
1619

1720
方法可用于将类的超类和超接口作为类型返回,并访问字段的泛型类型,构造函数的参数类型以及方法的参数和结果类型。
1821

19-
您还可以提取代表类或接口声明或泛型方法或构造函数的形式参数的类型变量。类型变量的类型需要一个参数,并写入 `TypeVariable<D>`,其中 `D` 表示声明类型变量的对象的类型。因此,类的类型变量具有类型 `TypeVariable<Class<?>>`,而泛型方法的类型变量具有类型 `TypeVariable<Method>`。可以说,类型参数是令人困惑的,并不是非常有用。由于它对6.6节中描述的问题负责,因此 `Sun` 可能会在将来删除它。
22+
您还可以提取代表类或接口声明或泛型方法或构造函数的形式参数的类型变量。类型变量的类型需要一个参数,并写入 `TypeVariable<D>`,其中 `D` 表示声明类型变
23+
量的对象的类型。因此,类的类型变量具有类型 `TypeVariable<Class<?>>`,而泛型方法的类型变量具有类型 `TypeVariable<Method>`。可以说,类型参数是令人
24+
困惑的,并不是非常有用。由于它对 `6.6` 节中描述的问题负责,因此 `Sun` 可能会在将来删除它。
2025

2126
`7-5` 使用这些方法打印出与类关联的所有标题信息。这里有两个使用例子:
2227

@@ -31,9 +36,10 @@
3136
implements java.lang.Comparable<E>,java.io.Serializable
3237
```
3338

34-
例 `7-5` 中的代码冗长而直接。 它包含打印类的每个组件的方法:它的超类,它的接口,它的字段和它的方法。 代码的核心是 `printType` 方法,它使用级联的实例测试根据上述五种情况对类型进行分类。
39+
例 `7-5` 中的代码冗长而直接。 它包含打印类的每个组件的方法:它的超类,它的接口,它的字段和它的方法。 代码的核心是 `printType` 方法,它使用级联的实
40+
例测试根据上述五种情况对类型进行分类。
3541

36-
例 `7-5`。 如何操作Type类型
42+
例 `7-5`。 如何操作 `Type` 类型
3743

3844
```java
3945
import java.util.*;
@@ -143,39 +149,5 @@
143149

144150
如果 `Type` 接口有一个 `toGenericString` 方法,那么大部分代码都是不必要的。 `Sun` 正在考虑这一改变。
145151

146-
147-
148-
149-
150-
151-
152-
153-
154-
155-
156-
157-
158-
159-
160-
161-
162-
163-
164-
165-
166-
167-
168-
169-
170-
171-
172-
173-
174-
175-
176-
177-
178-
179-
180-
181-
152+
《《《 [下一节](../ch08/00_Effective_Generics.md) <br/>
153+
《《《 [返回首页](../README.md)

0 commit comments

Comments
 (0)