Object []如何克隆

时间:2010-04-12 10:06:13

标签: java arrays instanceof cloneable

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

这表示为o / p。我不明白为什么?

2 个答案:

答案 0 :(得分:10)

Java中的所有数组都是Cloneable和Serializable。

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

答案 1 :(得分:4)

阵列基本上支持(浅层)克隆。

来自section 10.7 of the JLS

  

数组类型的成员都是   以下内容:

     
      
  • 公共最终字段长度,包含组件数   数组(长度可以是正数或   零)。
  •   
  • 公共方法clone,它覆盖同名方法   在类Object和throws没有选中   例外。返回类型   数组类型T []的克隆方法是   T []。
  •   
  • 从Object类继承的所有成员; Object的唯一方法   不是继承的是它的克隆方法。
  •   

  

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