[問題] HashTable型態陣列初始化錯誤
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
10/02 08:47, 1F
→
10/02 09:03, , 2F
10/02 09:03, 2F
→
10/04 00:48, , 3F
10/04 00:48, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):