- ベストアンサー
配列クラスのクラス名
- 配列クラスのクラス名について質問です。
- 配列クラスはどのようなクラスなのか、具体的なクラス名が知りたいです。
- 配列クラスのクラス名を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
配列は参照型であり、オブジェクトとして扱われますが クラスではないです。 だからパッケージ名もクラス名もありません。 All the components of an array have the same type, called the component type of the array. If the component type of an array is T, then the type of the array itself is written T[]. http://java.sun.com/docs/books/jls/third_edition/html/arrays.html 内部的な詳しい処理までは書かれていませんが Every array has an associated Class object, shared with all other arrays with the same component type. とあるので、 実際にはClassオブジェクトによって型を管理しているのではないでしょうか。 > (もしかして『[I』『[Z』『[L』という名前のクラスでしょうか?) the string "[I" is the run-time type signature for the class object "array with component type int". 上記の通り、『[I』『[Z』『[L』というのは 実行時型を表すシグネチャです。
その他の回答 (2)
- Lieserl
- ベストアンサー率81% (31/38)
int, booleanはプリミティブ型であって、クラスではありません。 ですから、厳密にはI,Zといった名前のクラスがある訳ではありません。 I,Zといった文字に対応したエンティティについては、参考URLを参照して下さい。
お礼
符号化の各値の意味がきちんと分かりました。 参考になりました。ありがとうございました。
- salsberry
- ベストアンサー率69% (495/711)
> もしかして『[I』『[Z』『[L』という名前のクラスでしょうか? そのとおりです。 "["が配列を表し、それに続く文字が要素の型を表します。intは"I"、booleanは"Z"、byteは"B"など。クラスの配列の場合は"L"+クラス名+";"となります。longの二重配列なら"[[J"のようになります。 パッケージ名はありません。
お礼
「クラス名」では無かったみたいです。 しかしご回答ありがとうございました。
お礼
「クラスと同じ扱いをする」というだけで 実態がきちんとあるクラスとは違うということなのですかね。 なんとなく分かりました。 参考になりました。ありがとうございました。