看板 java 關於我們 聯絡資訊
class A; class B extends A; 或是 Interface A; class B implements A; Vector<A> vec = new Vector<A>; for (...) { B b = new B(); vec.add(b); } ~ 請問 我如何 將 vec 轉成 Vector<B> 型態? -- PLUR -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 79.210.65.181
PsMonkey:囧? 好奇怪的需求阿... Orz 09/21 10:09
superlubu:沒有辦法直接做,只能重新宣告一個 Vector<B>,然後將 09/21 10:13
superlubu:Vector<A>內的element一個一個的 cast 到 B 再 add 09/21 10:14
adrianshum:想轉成 Vector<B> 即是你 vec 都是只放 B, 那麼當初為 09/21 10:43
adrianshum:什麼不直接用 Vector<B> ? 09/21 10:44
qrtt1:Vector<B> vb = new Vector<B>((Collection)vec); 09/21 15:42
psalter:善用Polymorphism(多型)的機制,盡量避免向上轉型 09/21 22:19
easy1:後來我想到的方法是用java generics解決 09/24 18:36