3

类的重写clone()方法java.lang.Object可用于所有数组。

这个方法在哪里被数组覆盖?

4

1 回答 1

5

它由JLS 10.7定义:

公有方法clone,覆盖Object类中的同名方法,不抛出检查异常。数组类型 T[] 的克隆方法的返回类型是 T[]。
多维数组的克隆是浅的,也就是说它只创建一个新数组。子数组是共享的。

它在哪里以及如何被覆盖是特定于实现的。例如,对于 HotSpot,您可以在第 539 行及以下位置找到。如果您向下钻取,您将看到它调用了一个依赖于平台的方法。例如,对于 Windows-x86,该pd_conjoint_jlongs_atomic方法位于此处的第 97 行并使用汇编代码。

于 2012-06-16T10:06:15.880 回答