Re: [問題] cast Vector<T>

看板java作者 (e :) y)時間18年前 (2007/09/21 17:25), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
: class A; : class B extends A; class C extends A; : 或是 : Interface A; : class B implements A; class C implements A; 感謝以上回文 尤其是這個方法 Vector<B> vb = new Vector<B>((Collection)vec); 不過在eclipse會有 "Type safty"的Warning. javadoc: Vector(Collection<? extends E> c) 我會這樣問可能是我程式沒設計好吧 (承以上的例子) 主要是 abstract class X { protected Vector<A> foo() { return make(); } protected abstarct Vector<A> make(); } class Y extends X { public Vector<B> myFoo() { Vecotr<A> vec = this.foo(); return new Vector<B>((Collection)vec); } protected Vector<A> make() { Vector<A> vec = new Vector<A>; for (...) { B b = new B(); vec.add(b); } return vec; } } class Z extends X { public Vector<C> myFoo() { Vecotr<A> vec = this.foo(); return new Vector<C>((Collection)vec); } protected Vector<A> make() { Vector<A> vec = new Vector<A>; for (...) { C c = new (C); vec.add(c); } return vec; } } -- PLUR ※ 編輯: easy1 來自: 79.210.123.246 (09/21 17:52) ※ 編輯: easy1 來自: 79.210.123.246 (09/21 17:54) ※ 編輯: easy1 來自: 79.210.123.246 (09/21 18:01)
文章代碼(AID): #16yuuDDE (java)
文章代碼(AID): #16yuuDDE (java)