作者chessjim (jim)
看板java
标题[问题] HashTable型态阵列初始化错误
时间Fri Oct 2 05:16:51 2009
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
1F:推 LPH66:你好像搞反了...是子类别可以用父类别的ref.去参考 10/02 08:47
2F:→ chessjim:所以我应该如何修正我的code? 10/02 09:03
3F:→ AmosYang:你可以从修正你的想法与学习态度开始…XD 10/04 00:48