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

看板java作者時間16年前 (2009/10/02 10:56), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《chessjim (jim)》之銘言: : 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]; MidU=new Hashtable<Integer,String>[61]; 你可以將Hashtable cast 成 Object 但不可以將Object cast 成 Hashtable 你可以去google "多型"的用法和意義 : } : 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: 210.69.114.105
文章代碼(AID): #1AnMl2h9 (java)
討論串 (同標題文章)
文章代碼(AID): #1AnMl2h9 (java)