Java HashMap 迭代每个变量并返回值 : Boolean boolean , Integer int 错误?

标签 java android integer hashmap boolean

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;            
}

我创建了一个包含 boolean 值的 HashMap 和一个包含整数的 HashMap。现在我想要一个方法来检查值是否为“空”(所有 boolean 值均为 false,所有整数均为 0)。

我运行调试器,可以看到 Hashmap 中的 boolean 值为 false,但我的方法“isEmpty”仍然返回 false。

为什么我的“isEmpty”检查失败?我认为这是 boolean 值和 boolean 值之间的区别,但我不确定。

最佳答案

Java 自动在 Boolean <> boolean 和 int <> Integer 之间进行转换。因此,您的代码在技术上是正确的。

关于Java HashMap 迭代每个变量并返回值 : Boolean boolean , Integer int 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19410500/

相关文章:

java - 当我运行我的 spring 应用程序时,它显示抛出错误

java - 如何去掉小于一的 double 中小数点前的前导零?

android - 模拟器 : emulator: ERROR: Missing initial data partition file:

android - APK:与版本号相关的 native 库名称问题 (SO.X.Y)

android - Android 工具栏中的刷新图标现在是否已被弃用( 'swipe to refresh' 是否完全取代了它)?

python - 如何在 python 中获取 16 位无符号整数

java - 如何通过堆中的许多 StackTraceElement 模拟完整的 gc

c++ - C++中varchar(string)的哈希函数

Java - 如何像计算器一样将大数转换为位数较少的数字和 "E"?

java - 实用的 GUI 工具包?