3

重複の可能性:
java.lang.Array クラスがないのはなぜですか? Java 配列がオブジェクトの場合、オブジェクトを拡張するべきではありませんか?

私は言う配列を作成しました:

int a[] = new int[50];

ここでintは、プリミティブデータ型ですが、javaでは、 実行時に配列が作成されます。これは、何らかのクラスのオブジェクトが存在することを意味します。それで、それらがどのクラスオブジェクトであるか、配列オブジェクトを作成しているときにバックグラウンドプロセスがどのように発生
するかを知りたいですか?

そして、その配列の参照IDを出力したい場合は、もう1つ知りたいことがあります。

System.out.println(a);

ここで、 @の前の文字列がクラス名で、@の後の文字列がハッシュコードである[I@17182c1
ことがわかります。しかし、どのクラスですか? クラスはどのように作成され、配列の長さを返す変数はどこから取得しましたか? JavaのAPI全体でクラスが見つからなかったので、次のように書いてもコンパイラがエラーを表示しないのはなぜですか。[I
[Ilength[I

System.out.println(a.length);

クラス[Iは実行時に作成されますか?

4

0 に答える 0