Java中的数组有对应的类么,为什么数组可以直接调用clone()方法?
黄舟
黄舟 2017-04-18 10:13:08
0
3
669
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(3)
刘奇

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

いいねを押す +0
Ty80

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

いいねを押す +0
左手右手慢动作

クラス 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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート