使用0和false犯得错误

来源:互联网 发布:从java走向javaee 编辑:程序博客网 时间:2024/05/23 23:31

0和false

之前一直没怎么在意,写程序时直接用0和false比较从而判断真假,结果执行了几次,发现最终结果都不是预想的,之后就开始debug一步步找原因,最终发现”0”.equals(map.get(“auto”))时返回的结果一直是false

"0".equals(map.get("auto"))

原因 :

map中存的是true和false,不是0和1,equals方法是转成对应的String类型比较,所以0和true,0和false比较结果都是false。

map.get("auto") != null && !(boolean)map.get("auto")
原创粉丝点击