나는이 두 HashMaps을해시 맵 얻을 NULL을 반환
HashMap<Integer, Integer> inventoryRequirements = new HashMap<Integer, Integer>();
HashMap<Integer, Integer> inventory = new HashMap<Integer, Integer>();
I가 현재 확인하고에 추가 루프 :
for(Item item : items){
int currentRequirement = 0;
currentRequirement = inventoryRequirements.get(item.get_id());
inventoryRequirements.put(item.get_id(), currentRequirement++);
}
I가 재고를 확인하고에 추가 다른 루프 :
를for(Item item : items){
int currentInventory = 0;
// this next line returns null
currentInventory = inventory.get(item.get_id());
inventory.put(item.get_id(), currentInventory++);
}
첫 번째 동작은 정상적으로 작동하지만 두 번째 동작은 정상 동작하고 null을 반환합니다. 나는 두 번째 것이 효과가없는 이유를 이해하지 못한다. 둘 다 초기에 코드 샘플에 표시된 것과 동일한 상태에 있습니다.
EDIT 당신이 여기에서 보는 바와 같이
두 HM이 채워 - 정말! 나는 그것이 믿기 어려울 수도 있지만 첫 번째 작품은 두 번째 작품이 아니라는 것을 압니다.
'inventory'에 어떤 것을 넣었습니까? 또한'Map- '를 사용하지 않을까요? –
Jeffrey
'inventoryRequirements'가 공백으로 시작하면 첫 번째 루프도 실패합니다. – Joni
아무 것도 넣지 않을 수 없습니다. 왜지도 대신에 - 나는 그것에 대한 좋은 대답이 없습니다 - 진짜 이점이 있습니까? –