Tôi có hai hashmapsHashMap được trả về NULL
HashMap<Integer, Integer> inventoryRequirements = new HashMap<Integer, Integer>();
HashMap<Integer, Integer> inventory = new HashMap<Integer, Integer>();
Tôi có một vòng lặp để kiểm tra hiện tại và thêm vào đó:
for(Item item : items){
int currentRequirement = 0;
currentRequirement = inventoryRequirements.get(item.get_id());
inventoryRequirements.put(item.get_id(), currentRequirement++);
}
Tôi có một vòng lặp để kiểm tra hàng tồn kho và thêm vào đó:
for(Item item : items){
int currentInventory = 0;
// this next line returns null
currentInventory = inventory.get(item.get_id());
inventory.put(item.get_id(), currentInventory++);
}
Cái đầu tiên hoạt động tốt, nhưng pukes thứ hai và trả về giá trị rỗng. Tôi không hiểu tại sao cái thứ hai không hoạt động. Cả hai đều ở trạng thái giống như được mô tả trong mẫu mã.
EDIT
Hai HM được dân cư như bạn thấy ở đây - thực sự! Tôi biết nó có thể khó tin nhưng cái đầu tiên hoạt động và cái thứ hai thì không.
Bạn đã bao giờ 'đặt' bất kỳ thứ gì vào 'khoảng không quảng cáo' chưa? Ngoài ra, tại sao không sử dụng 'Bản đồ- ' s? –
Jeffrey
Nếu 'inventoryRequirements' bắt đầu trống, vòng lặp đầu tiên cũng sẽ không thành công. – Joni
Nó không bao giờ được đưa vào hàng để đưa bất cứ thứ gì vào đó. Về lý do tại sao Bản đồ không thay thế - tôi không có câu trả lời hay cho điều đó - có lợi thế thực sự không? –