我有一個ArrayLists值的HashMap,但是當我添加ArrayLists時HashMap保持爲空,然後當我嘗試獲取ArrayList時引發NullPointerException。很困惑。ArrayList導致nullpointerexception的HashMap
Random rand = new Random();
HashMap<String,ArrayList<Integer>> hands = new HashMap<String,ArrayList<Integer>>();
HashMap<Integer, Boolean> deck = new HashMap<Integer, Boolean>();
for(int x=0;x<4;x++){
for(int y=0;y<4;y++){
hands.put(x+SUITS[x], new ArrayList<Integer>());
}
}
for(int x=0;x<4;x++){
for(int y=0;y<13;y++){
int randCard = rand.nextInt(52)+1;
if(!deck.containsKey(randCard)){
deck.put(randCard, true);
hands.get(x+cardSuit(randCard)).add(randCard);
}else y--;
}
}
如果不能看到_cardSuit()_方法,則很難排除故障,但顯然沒有值映射到您使用的密鑰時。 – jahroy 2013-02-27 04:35:53
看着你的代碼,沒有理由期望你試圖解引用的任何鍵都會出現。當_put_與您在_get_時使用的密鑰完全不同時,您使用的是您使用的密鑰。 – jahroy 2013-02-27 04:37:56