Java中的签名字节,最重要的是什么?

时间:2016-04-01 18:05:51

标签: java

字节值介于0到255之间,非常简单直接。然而,Java并没有这么认为,并认为价值在-128到128之间,并且毁了我的生活和许多其他人。

我只是想知道什么是重要的想法?为什么每次我需要获得无符号字节值时,我必须这样做:

int byteValue = (int) javaByte & 0xFF;

1 个答案:

答案 0 :(得分:1)

Java仅支持有符号整数。 byte也是整数,因此Java在这里是一致的。

这不是C的情况,例如char类型没有定义它是signed还是unsigned。你需要明确告诉。在我看来,这比默认情况下signed更糟糕。

无论如何,C中对char的初衷是一个字符串字符,其中无符号有意义。在Java中,字符串字符有不同的类型 - char