【初心者】Java質問・相談スレッド112【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0329デフォルトの名無しさん
2008/02/16(土) 04:35:17List<? extends B> bext2 = new ArrayList<B>();
List<? extends B> bext3 = new ArrayList<C>();
List<? super B> bsup1 = new ArrayList<A>();
List<? super B> bsup2 = new ArrayList<B>();
List<? super B> bsup3 = new ArrayList<C>(); // エラー
↑これはまぁ分かりますと。
List<? extends B> bext = new ArrayList<C>();
bext.add(new A()); // エラー
bext.add(new B()); // エラー
bext.add(new C()); // エラー
↑何で全滅やねん!
List<? super B> bsup = new ArrayList<A>();
bsup.add(new A()); // エラー
bsup.add(new B());
bsup.add(new C());
↑B のスーパークラスってのは代入の時のみで、
実際に適用するオブジェクトの型を上位に限定するんじゃないのか。
■ このスレッドは過去ログ倉庫に格納されています