[問題] HashTable型態陣列初始化錯誤

看板java作者 (jim)時間16年前 (2009/10/02 05:16), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/3 (看更多)
HashTable型態陣列初始化錯誤 我在這個網站找到範例 http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/GenericsExamples.htm public class SimpleCollection<T> { private T[] objArr; public SimpleCollection() { objArr = (T[]) new Object[10]; // 預設10個物件空間 } } 於是我想自己寫一個擁有61個HashTable的陣列來用,如下 import java.util.*; public class HTArray{ private Hashtable<Integer, String>[] MidU; public HTArray(){ MidU=(Hashtable<Integer, String>[])new Object[61]; } public static void main(String[] args){ new HTArray(); } } 這樣寫編譯會過,但是執行時期會出現 Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; can not be cast to [Ljava.util.Hashtable; at HTArray.<init>(HTArray.java:6) at HTArray.main(HTArray.java:9) 照理說Object的多型應該可以任意轉換吧!? 請問我要如何修正我的code,使的我可以初始化61個HashTable型態的陣列呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.113.66.193

10/02 08:47, , 1F
你好像搞反了...是子類別可以用父類別的ref.去參考
10/02 08:47, 1F

10/02 09:03, , 2F
所以我應該如何修正我的code?
10/02 09:03, 2F

10/04 00:48, , 3F
你可以從修正你的想法與學習態度開始…XD
10/04 00:48, 3F
文章代碼(AID): #1AnHn4-R (java)
文章代碼(AID): #1AnHn4-R (java)