作者gech2001 (gech)
看板java
標題[問題] 物件陣列的new問題
時間Sat Nov 22 15:17:59 2008
import java.io.*;
import java.util.*;
class transMap
{
public static Map<String,String>[] transMap;
public static Map<String,Integer> table = new HashMap<String,Integer>();
public static String[] table2;
static
{
for(int i=0;i<82671;i++)
{
System.out.println(i);
transMap[i] = new HashMap<String,String>();
}
...
}
public static void main(String[] arg)
{
...
}
}
各位大大好
這個程式在transMap[i] = new HashMap<String,String>();這一行
丟出ExceptionInInitializerError NullPointerException
請問這是什麼問題呢?
我本來想要用
public static Map<String,String>[] transMap
= new HashMap<String,String>[82671]();
可是我看這種宣告不能用(不能編譯) 爬文看到物件陣列要用迴圈跟new去初使化的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.137.202
推 biowave:你沒有先實體化transMap陣列吧... 11/22 15:20
→ gech2001:怎麼實體化transMap呢 是new指配給它的意思嘛? 11/22 15:31
※ 編輯: gech2001 來自: 61.228.137.202 (11/22 15:59)
推 H45:new HashMap[82671]; 11/22 16:35
→ gech2001:樓上大大的方法可以 11/22 23:58
→ gech2001:可是在SUN的網頁翻到JAVA不能 genetic array creation 11/23 00:01
推 TonyQ:你誤會了new HashMap[size];跟 new HashMap() 的差異. 11/23 15:29
→ gech2001:有什麼樣的差別呢? 11/24 15:37