看板 java 關於我們 聯絡資訊
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
LPH66:你好像搞反了...是子類別可以用父類別的ref.去參考 10/02 08:47
chessjim:所以我應該如何修正我的code? 10/02 09:03
AmosYang:你可以從修正你的想法與學習態度開始…XD 10/04 00:48