- 745 名前:717 mailto:sage [2008/08/30(土) 00:55:29 ]
- >>720
それだけじゃ>>724みたいな結論にたどり着けないっすよ先輩。 理解してる人しか理解できないヒントというか何というか。 >何故、List<Child> と書かないのですか? Genericsの勉強中に、クラス間に継承関係があっても List<Base> = new ArrayList<Child>(); のような事はできませんが、 <? extends Base>を使えば可能、という記述を見つけたので 試していただけです。で、add()ができないのは何故かと。 >>724 仮に可能であれば、 Child hoge = list.get(0); とした時にChild1やChild2を返してしまいClassCastExceptionが発生するため危険、 という事でいいですか? List<? extends Base>#get()の返り値の型をBase型として返せば いいような気もしますが、それもやはり不都合があるんでしょうか。
|

|