Java HashMap迭代每个Var和返回值:Boolean boolean,Integer int error?

时间:2013-10-16 18:00:37

标签: 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;            
}

我创建一个HashMap将布尔和一个带整数的HashMap。现在我想要一个方法来检查并查看值是否为“空”(所有布尔值都是假的,所有整数都是0)。

我运行Debugger,我可以看到Hashmap中的布尔值为false,但我的方法“isEmpty”仍然返回false。

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

1 个答案:

答案 0 :(得分:1)

Java会自动在Boolean&lt;&gt;之间进行转换boolean和int&lt;&gt;整数。所以你的代码在技术上是正确的。