配列クラスのクラス名
配列クラスのクラス名を教えてください。
配列はクラスですよね。そこまでは分かります。
こんなコードを実行しましたが
System.out.println((new int[0]).getClass());
System.out.println((new boolean[0]).getClass());
System.out.println((new String[0]).getClass());
System.out.println((new Integer[0]).getClass());
親切にこのような結果を出力してくれます。
class [I
class [Z
class [Ljava.lang.String;
class [Ljava.lang.Integer;
結果として配列が何というクラスなのかは分かりません。
(もしかして『[I』『[Z』『[L』という名前のクラスでしょうか?)
昔Javaのソースを読んだときに、配列クラスのファイルも
読んだことがあるような気がするのですが、
なんと言うクラスだったか忘れてしまいました。
パッケージ名+クラス名を教えてください。
よろしくお願いします。
No.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 …
内部的な詳しい処理までは書かれていませんが
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』というのは
実行時型を表すシグネチャです。
「クラスと同じ扱いをする」というだけで
実態がきちんとあるクラスとは違うということなのですかね。
なんとなく分かりました。
参考になりました。ありがとうございました。
No.2
- 回答日時:
int, booleanはプリミティブ型であって、クラスではありません。
ですから、厳密にはI,Zといった名前のクラスがある訳ではありません。
I,Zといった文字に対応したエンティティについては、参考URLを参照して下さい。
参考URL:http://java.sun.com/javase/ja/6/docs/ja/api/java …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の重複する値とその個数を...
-
1 つのヘッダファイルに複数の...
-
同じパッケージ、クラス名が含...
-
A・B・Cクラスとは?
-
どこからも呼ばれていない無意...
-
正規表現を使った小数入力チェ...
-
複数のクラスで共通した関数を...
-
eclipse でクラスに色
-
内部クラスを別ファイルに
-
java eclipse 型に解決できません
-
VBAもしくはVB6:クラスの中で...
-
共通で使う関数を集めたクラス...
-
EclipseでJSPのコンパイルエラー
-
修学旅行での演芸大会の出し物...
-
同じクラスにならない確率を教...
-
main()を持つクラスが2つ以上...
-
基本情報技術者試験のJava問題...
-
FunkctionとMethodの違いについ...
-
UMLのクラス図はmain()も含むん...
-
同一パッケージにあるクラスが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列の重複する値とその個数を...
-
どこからも呼ばれていない無意...
-
java eclipse 型に解決できません
-
「天声人語」をインターネット...
-
main()を持つクラスが2つ以上...
-
1 つのヘッダファイルに複数の...
-
IPアドレスのクラスAを取得して...
-
同一パッケージにあるクラスが...
-
同じクラスにならない確率を教...
-
重複エラーを解決するには
-
共通で使う関数を集めたクラス...
-
3年間同じクラスになる確率
-
複数のクラスで共通した関数を...
-
同じパッケージ、クラス名が含...
-
A・B・Cクラスとは?
-
自作のクラスファイルがインポ...
-
ATLとMFCの違いは何でしょうか?
-
eclipse でクラスに色
-
コンボボックスのマウスホイー...
-
UMLのクラス図はmain()も含むん...
おすすめ情報