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 will Boolis和一个带有整数的HashMap。现在我想要一种方法来检查并查看值是否"为空"(所有布尔值均为假,所有整数均为 0)。
我运行调试器,我可以看到我在哈希图中的布尔值是假的,但我的方法"isEmpty"仍然返回假。
为什么我的"isEmpty"检查失败?我认为布尔值和布尔值之间存在差异,但我不确定。
Java 会自动在布尔值<>布尔值和 int <> 整数之间进行转换。 因此,您的代码在技术上是正确的。