Re: [問題] HashTable型態陣列初始化錯誤
※ 引述《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
討論串 (同標題文章)