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

これは、o/p として true を返します。私はなぜ理解できませんでしたか?

4

2 に答える 2

10

Java のすべての配列は、複製可能でシリアライズ可能です。

アレイのクローンは、アレイをコピーするだけです (コンテンツのクローンではなく、浅いコピー)。

于 2010-04-12T10:08:18.893 に答える
4

基本的に、配列は (浅い) 複製をサポートします。

JLS のセクション 10.7から:

配列型のメンバーは、次のすべてです。

  • public final フィールドの長さ。配列のコンポーネントの数が含まれます (長さは正またはゼロの場合があります)。
  • クラス Object 内の同じ名前のメソッドをオーバーライドし、チェック例外をスローしない public メソッド clone。配列型 T[] の clone メソッドの戻り値の型は T[] です。
  • クラス Object から継承されたすべてのメンバー。継承されないオブジェクトの唯一のメソッドは、そのクローン メソッドです。

すべての配列は、インターフェース Cloneable および java.io.Serializable を実装します。

于 2010-04-12T10:07:28.647 に答える