HashMap<String, Boolean> mAchBools = new HashMap<String, Boolean>(){{
put("myBool1", false);
}
};
HashMap<String, Integer> mAchInts = new HashMap<String, Integer>(){{
put("myInt1", 0);
}
};
boolean isEmpty() {
for (boolean b : mAchBools.values()) if (b) return false;
for (int i : mAchInts.values()) if (i != 0) return false;
return true;
}
정수를 사용하여 HashMap과 HashMap을 만듭니다. 이제 값이 "비어 있는지"를 확인하고 확인하는 메서드가 필요합니다 (모든 부울은 false이고 모든 정수는 0입니다).Java HashMap 각 Var 및 반환 값 반복 : 부울 부울, 정수 int 오류?
디버거를 실행하고 Hashmap의 부울 값이 거짓이지만 메서드 "isEmpty"가 여전히 false를 반환한다는 것을 알 수 있습니다.
"isEmpty"검사가 실패하는 이유는 무엇입니까? 부울과 부울의 차이점이라고 생각하지만 확실하지 않습니다.
두 번째지도에 '0'이 아닌 정수 값이 포함되어있을 수 있습니까? –
'Map' 값을 'null'일 수 있기 때문에 루핑 할 때 원시적 인 것을 사용하지 않을 것입니다. 그러면 NPE를 던질 것입니다. –
여기서 제공 한 코드는 우분투에서 테스트 할 Eclipse를 사용하여 내 PC에서 'true'를 반환합니다. –