布尔运算的二元补充运算符(或二元否定)?

时间:2014-06-23 11:50:34

标签: java c boolean

我会问一个相当简单的问题,这对我来说是一个惊喜。 我想将一个简单的C代码移植到java,在这段代码中,它使用int作为boolean。在代码里面它反转了几次,如:

c = !c;

一开始我觉得boolean会很好。虽然转换不起作用(使用 Binary Ones Complement Operator 〜)。

我也试过byte(毕竟我只需要一个boolean),但奇怪的是这段代码没有编译,表明错误Type mismatch

byte c = 0;
c = ~c; //<= here is the error

eclipse建议的解决方案是c = (byte) ~c;(转换为byte)。

所以我的问题是,是否有一个 Binary Ones Complement Operator booleanbyte s上运行?是否应该为不同类型超载?我只想反转一个不应该太难的布尔值。

P.S.1 long与〜一起顺利运作。 P.2.2我知道如何使用int然后将其转换为boolean,但我认为应该存在更快的实现。

1 个答案:

答案 0 :(得分:1)

在Java中使用boolean并使用!取消它。