[問題] 物件陣列的new問題

看板java作者 (gech)時間17年前 (2008/11/22 15:18), 編輯推噓3(304)
留言7則, 4人參與, 最新討論串1/2 (看更多)
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

11/22 15:20, , 1F
你沒有先實體化transMap陣列吧...
11/22 15:20, 1F

11/22 15:31, , 2F
怎麼實體化transMap呢 是new指配給它的意思嘛?
11/22 15:31, 2F
※ 編輯: gech2001 來自: 61.228.137.202 (11/22 15:59)

11/22 16:35, , 3F
new HashMap[82671];
11/22 16:35, 3F

11/22 23:58, , 4F
樓上大大的方法可以
11/22 23:58, 4F

11/23 00:01, , 5F
可是在SUN的網頁翻到JAVA不能 genetic array creation
11/23 00:01, 5F

11/23 15:29, , 6F
你誤會了new HashMap[size];跟 new HashMap() 的差異.
11/23 15:29, 6F

11/24 15:37, , 7F
有什麼樣的差別呢?
11/24 15:37, 7F
文章代碼(AID): #199x8ezJ (java)
文章代碼(AID): #199x8ezJ (java)