• ベストアンサー

ジェネリックのキャストをしたいです

ArrayList<Double>型の変数を、 ArrayList<Integer>型にキャストすることはできますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

そういう反応が来るとは思わなかった (苦笑) T とか U とかいうのはジェネリックの型引数です. つまり, #1 を今の例に即して言うと 「Double から Integer にキャストできれば ArrayList<Double> から ArrayList<Integer> にキャストできる」 という規則だったはず.

seimeitai
質問者

お礼

なるほど、そういうキャストの規則があるんですね。 勉強になりました!! ありがとうございます!!

その他の回答 (2)

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.2

互換性のないデータ型へのキャストはしてはいけません。 ArrayList<Double>型から、ArrayList<Integer>への変換なら、 変換用のメソッドを用意するとよいでしょう。

seimeitai
質問者

お礼

なるほど!! ありがとうございました!! 変換用のメソッドを用意することにします。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

T から U へのキャストができれば ArrayList<T> から ArrayList<U> へのキャストができた, ような気がする.

seimeitai
質問者

お礼

TからUですか?? TとUについて調べてみます。

関連するQ&A