4
Object[] o = new Object[]{};
System.out.println(o instanceof Cloneable);

这给出了真实的 o/p。我不明白为什么?

4

2 回答 2

10

Java 中的所有数组都是可克隆和可序列化的。

数组上的克隆只是复制数组(浅拷贝,不克隆内容)。

于 2010-04-12T10:08:18.893 回答
4

数组基本上支持(浅)克隆。

JLS 的第 10.7 节

数组类型的成员全部如下:

  • 公共最终字段长度,其中包含数组的组件数(长度可以是正数或零)。
  • 公有方法clone,覆盖Object类中的同名方法,不抛出检查异常。数组类型 T[] 的克隆方法的返回类型是 T[]。
  • 继承自类Object的所有成员;Object 唯一不被继承的方法是它的 clone 方法。

每个数组都实现了接口 Cloneable 和 java.io.Serializable。

于 2010-04-12T10:07:28.647 回答