我会问一个相当简单的问题,这对我来说是一个惊喜。
我想将一个简单的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 在boolean
和byte
s上运行?是否应该为不同类型超载?我只想反转一个不应该太难的布尔值。
P.S.1 long
与〜一起顺利运作。
P.2.2我知道如何使用int
然后将其转换为boolean
,但我认为应该存在更快的实现。
答案 0 :(得分:1)
在Java中使用boolean
并使用!
取消它。