Skip to content

Commit cad88ca

Browse files
authored
Update 03_Reflection_for_Primitive_Types.md
1 parent 4b02a33 commit cad88ca

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

ch07/03_Reflection_for_Primitive_Types.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1+
《《《 [返回首页](../README.md) <br/>
2+
《《《 [上一节](02_Reflected_Types_are_Reifiable_Types.md)
3+
14
## 对原始类型的反思
25

36
`Java` 中的每种类型(包括基元类型和数组类型)都具有类文字和相应的类标记。
47

5-
例如,`int.class` 表示整数的基本类型的类标记(该标记也是静态字段 `Integer.TYPE` 的值)。 这个类标记的类型不能是 `Class<int>`,因为 `int` 不是一个引用类型,所以它被认为是 `Class<Integer>`。 可以说,这是一个奇怪的选择,因为根据这种类型,您可能期望调用 `int.class.cast(o)``int.class.newInstance()` 返回 `Integer` 类型的值,但实际上这些调用会引发异常。 同样,你可能会期待这个调用:
8+
例如,`int.class` 表示整数的基本类型的类标记(该标记也是静态字段 `Integer.TYPE` 的值)。 这个类标记的类型不能是 `Class<int>`,因为 `int` 不是一个引
9+
用类型,所以它被认为是 `Class<Integer>`。 可以说,这是一个奇怪的选择,因为根据这种类型,您可能期望调用 `int.class.cast(o)`
10+
`int.class.newInstance()` 返回 `Integer` 类型的值,但实际上这些调用会引发异常。 同样,你可能会期待这个调用:
611

712
```java
813
java.lang.reflect.Array.newInstance(int.class,size)
@@ -12,3 +17,5 @@
1217

1318
另一方面,`int[].class` 表示具有基本类型 `integer` 的组件的数组的类标记,并且此类标记的类型为 `Class<int[]>`,这是允许的,因为 `int[]` 是引用类型。
1419

20+
《《《 [下一节](04_A Generic_Reflection_Library.md) <br/>
21+
《《《 [返回首页](../README.md)

0 commit comments

Comments
 (0)