ArrayList::getメソッドはObject型を返却しますよね。
そのため、たとえば、
ArrayList list = new ArrayList();
Integer aaa = new Integer();
list.add(aaa);
Integer aaa2 = (Integer)list.get(0);
のように、Integerでリストに追加したものを取り出すのに
わざわざIntegerでキャストしなければなりません。
なんで、こんな不便な仕様になっているのでしょうか?
No.3ベストアンサー
- 回答日時:
何でも入れられるようにするために、Object型を保持するようになっているため。
(J2SE1.4)JavaTM 2 Platform Standard Edition 5.0 からは、
格納するオブジェクトの型を指定してArrayListが作成できるようになっている。
ArrayList<Integer> list = new ArrayList<Integer>();
のようにする。
No.2
- 回答日時:
ArrayListに限らずコレクション系のクラス・インターフェースは汎用性を持たせるためにObjectクラスを扱っています。
狭い目で見れば不便ですが広い目で見れば便利です。
また、Java 5.0からはGenerics対応になりキャストを不要にすることも可能になりました。
参考URL:http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/ …
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで以下のようなコードを書いたらエラーになりました。何処が間違っているの教えて? 1 2023/02/10 18:30
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:13
- Visual Basic(VBA) VBA 配列を使ったコードに直していただけますか 4 2023/05/06 15:18
- Visual Basic(VBA) エクセル マクロ(A1:A10)までの中で一番多く出た数字をB10に表示 6 2023/04/25 17:01
- Visual Basic(VBA) vb.netです。2次元配列の要素をFor Eachでひとつづつ取得したい。 4 2022/07/05 11:30
- Visual Basic(VBA) For~Nextステートメントの終了条件について 1 2023/01/08 18:36
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(vba)他のアプリケーションの右...
-
メソッドの引数にクラス名を渡す
-
ゲッターを使わないで変数にア...
-
「ラッパークラス」の存在意義...
-
interface,extend,implementの...
-
JTextFieldの入力制限
-
C++で参照カウンタを実装したい...
-
c++でのヘッダーファイルの循環...
-
vb.net 自作プロパティの削除に...
-
「継承されたメソッドの可視性...
-
「IOException は対応する try ...
-
サーバー上のフォルダ情報の取得
-
ASP.NETでの共通コードの書き方...
-
抽象クラスをJUNITでテストする...
-
Java StringBuilderクラスについて
-
なぜインタフェースを使うのか?
-
TableViewでタップした時にキー...
-
ファイルパスが取得出来ない(P...
-
オブジェクト指向の特徴
-
c# この高速化の方法あり?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
抽象クラスをJUNITでテストする...
-
「ラッパークラス」の存在意義...
-
(vba)他のアプリケーションの右...
-
ASP.NETでの共通コードの書き方...
-
VB DLLプロジェクトについて
-
C#からDLLを呼びたいのですが・...
-
c++でのヘッダーファイルの循環...
-
委譲って何ですか?
-
「継承されたメソッドの可視性...
-
【C#】クラスのコンストラクタ...
-
Javaでのジェネリクス型パラメ...
-
C# 「データが失なわれる可能性...
-
Excel vbaのプログラムでガンマ...
-
ファイルパスが取得出来ない(P...
-
オーバーライドとラッパーの違い
-
compareToにおける「自然順序付...
-
メソッドの引数にクラス名を渡す
-
vb.net 自作プロパティの削除に...
-
VBがオブジェクト指向言語でな...
おすすめ情報