検索

ホームページ  >  に質問  >  本文

Java中的数组有对应的类么,为什么数组可以直接调用clone()方法?

黄舟黄舟2798日前677

全員に返信(3)返信します

  • 怪我咯

    怪我咯2017-04-18 10:15:08

    1. Java には配列に対応するクラスはありません。配列は Java 言語の一部です。
    2. データはそれ自体 Cloneable を実装する特別なオブジェクトです。 Objectclone メソッドの Javadoc には次の文があります: すべての配列は Cloneable インターフェイスを実装していると見なされるので、配列は< code>clone メソッドを直接使用できます。 CloneableObjectclone方法的javadoc中有这么一句Note that all arrays are considered to implement the interface Cloneable ,所以数组是可以直接使用clone方法的。
    3、数组对象天生就有一个finallength3. 配列オブジェクトは final length 属性で生成されます。配列はどのクラスでも定義されていないため、ソース コードはありません。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:15:08

    Javaの配列は単なる配列であり、それに対応するクラスはありません。
    配列で使用される Clone() は、コンパイラーがこの構文を提供する限り、クラスである必要はありません。
    同様に、配列の長さもコンパイラによって解析される配列属性であり、Javaでは実装されておらず、当然ながらJavaのソースコードを見ることはできません。

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 10:15:08

    クラス c = int[].class;
    System.out.println(c.getPackage());
    System.out.println(c.getName());
    System.out.println(Modifier.toString(c) .getModifiers()));

    これは次のように理解できます:
    配列クラスは、長さ属性やその他のメソッド実装を含む、JVM ランタイムによって動的に生成される特別なクラスのセットです
    int[]、boolean[] などの配列に加えて、
    も含まれますユーザー定義 定義されたタイプの配列 (com.yourPackage.YourClass[] 形式の配列、2 次元、3 次元、および多次元配列など)

    興味深い入力結果があります
    int[] クラスの修飾子は public abstract Final です
    これは私たちの知識の範囲を超えています

    返事
    0
  • キャンセル返事