Java boolean 值不相等但相等?

标签 java boolean

我正在一个名为 udacity 的网站上学习 java,我刚刚被问到的一个问题是“done 是一个 boolean 值。!!done 的值是什么?”我不太明白,但经过一段时间的猜测,我得到了正确的答案“完成”。有人可以向我解释一下吗?不是!应该意味着“不等于”? value1 怎么可能等于 value2,而 value2 应该“不等于”value1?

最佳答案

这又回到了 boolean 代数,如果你说

true = true   
false = false

然后

not true = false
not false = true

这意味着

not (not true)  = not false = true 
not (not false) = not true  = false 

这意味着!!完成=完成

你可以把“not”写成“!”

!true  = false
!false = true

这意味着

!!true  = !false = true
!!false = !true = false

所以如果done是一个 boolean 值:true或false,当它放入!!done时它总是会完成。例如:

boolean done = true;

!!done 这将始终是其初始值,即 true

关于Java boolean 值不相等但相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29871671/

相关文章:

java - 泛型通配符的正确使用

php - 为什么 php 数组中 null 键的值更改为 1?

javascript - JS - 是否存在 !!x 和 x 不代表相同逻辑值的情况

java - 使用 spring kafka 消费者恢复 kafka 稳定组

c# - C# 中大型 bool 数组的问题

sql - 检查 boolean 假值的快捷方式

javascript - 数组中的未定义条目在使用 `true` 将它们解析为 boolean 值后返回 `every`

java.lang.UnsupportedOperationException 错误 ArrayAdapter

java - 如何在android room中嵌入实体列表?

java - 您必须使用@NonNull 注释主键吗?