Java HashMap 迭代每个变量并返回值:布尔布尔值、整数整数错误


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 <> 整数之间进行转换。 因此,您的代码在技术上是正确的。

最新更新