作者neigence ()
站内java
标题Re: [问题] HashTable型态阵列初始化错误
时间Fri Oct 2 10:56:01 2009
※ 引述《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