配列クラスのクラス名
配列クラスのクラス名を教えてください。
配列はクラスですよね。そこまでは分かります。
こんなコードを実行しましたが
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ランキング
-
オブジェクト指向プログラミン...
-
同一パッケージにあるクラスが...
-
配列の重複する値とその個数を...
-
グローバルIPとプライベートIP...
-
java eclipse 型に解決できません
-
数学の計算問題。 3年間同じク...
-
河合塾のクラス分けについて
-
UMLのクラス図はmain()も含むん...
-
USBのデバイスクラスの違いにつ...
-
A・B・Cクラスとは?
-
共通で使う関数を集めたクラス...
-
IPアドレス 105.179.244.135の...
-
3年間同じクラスになる確率
-
命名規約は連番でいいのか?
-
SDカードについて
-
main()を持つクラスが2つ以上...
-
同じクラスにならない確率を教...
-
SQLです教えてくださいお願いし...
-
構造体とクラスの違い
-
dllと同じプロジェクトにする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
河合塾のクラス分けについて
-
同じクラスにならない確率を教...
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
配列の重複する値とその個数を...
-
java eclipse 型に解決できません
-
同一パッケージにあるクラスが...
-
私はクラスLINEにまだ入れてな...
-
老い先短い ジジィ が ふと 思う...
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
main()を持つクラスが2つ以上...
-
数学の計算問題。 3年間同じク...
-
クラス見てから 女の子5人 ネタ...
-
javaのコンパイルができません...
-
1 つのヘッダファイルに複数の...
-
重複エラーを解決するには
-
IPアドレスの3バイト目の呼び方
-
packageとimport の違いって?
おすすめ情報