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。现在我想要一个方法来检查并查看值是否为“空”(所有布尔值都是假的,所有整数都是0)。
我运行Debugger,我可以看到Hashmap中的布尔值为false,但我的方法“isEmpty”仍然返回false。
为什么我的“isEmpty”检查失败?我认为这是布尔值和布尔值之间的区别,但我不确定。
答案 0 :(得分:1)
Java会自动在Boolean&lt;&gt;之间进行转换boolean和int&lt;&gt;整数。所以你的代码在技术上是正确的。