11
new String[] { "foo", "bar" }.clone();

使用我最喜欢的 IDE(即 Eclipse),我想通过Ctrl 键单击它来查看上述clone()方法的源代码(像往常一样),但它把我带到了原生的 IDE,它只提供签名而不提供方法的主体。Object

自动完成告诉我上述clone()方法属于String类(clone() : String[] - String),但类的源代码String没有提供这样的方法(因为我正在处理String[]类......)。

那么,该实现隐藏在哪里?应该修复自动完成功能吗?

4

2 回答 2

10

克隆数组的代码在 JVM 中(它是本机方法)。对于热点,它在 jvm.cpp 的第550/560行左右。

于 2013-02-12T16:33:47.890 回答
0

令人困惑的是 Eclipse 说数组的clone方法在类中。但是String 数组的方法是从.StringStringlengthString[]

在此处输入图像描述

于 2013-02-12T16:41:59.040 回答