配列クラスのクラス名
配列クラスのクラス名を教えてください。
配列はクラスですよね。そこまでは分かります。
こんなコードを実行しましたが
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# クラスのメンバ変数を基準に並べ替えをしたい 5 2022/12/25 17:40
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Java java final 1 2022/06/10 22:49
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「エンクロージング型」と「外...
-
同じクラスにならない確率を教...
-
配列の重複する値とその個数を...
-
マイクロSDカード購入しようと...
-
エクセルVBAでのwitheventsにつ...
-
「天声人語」をインターネット...
-
JAVA3D実行時のエラー
-
同一パッケージにあるクラスが...
-
VBAもしくはVB6:クラスの中で...
-
河合塾のクラス分けについて
-
ATLとMFCの違いは何でしょうか?
-
javaのコンパイルができません...
-
「囲うインスタンス」のエラー...
-
重複エラーを解決するには
-
共通で使う関数を集めたクラス...
-
基本情報技術者試験のJava問題...
-
Eclipseでのクラス作成について
-
コンボボックスのマウスホイー...
-
クラス見てから 女の子5人 ネタ...
-
Pure JVM と MS-JVMについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
配列の重複する値とその個数を...
-
自分事ですが、私のLINEのスク...
-
java eclipse 型に解決できません
-
同じクラスにならない確率を教...
-
どこからも呼ばれていない無意...
-
グローバルIPとプライベートIP...
-
担任にプレゼント
-
数学の計算問題。 3年間同じク...
-
クラスのプロパティに構造体を...
-
河合塾のクラス分けについて
-
IPアドレスのクラスAを取得して...
-
共通で使う関数を集めたクラス...
-
自作のクラスファイルがインポ...
-
1 つのヘッダファイルに複数の...
-
ヒートテックやファイバーヒー...
-
dllと同じプロジェクトにする方法
-
main()を持つクラスが2つ以上...
-
同一パッケージにあるクラスが...
おすすめ情報