小编mse*_*ell的帖子

为什么在Java中需要无符号类型?

我经常听到有人抱怨Java没有未签名的数据类型.请参阅评论.我想知道这是一个什么问题?我或多或少地用Java编程了10年,从来没有遇到过问题.偶尔在将字节转换为int时& 0xFF需要a,但我不认为这是一个问题.

由于无符号和带符号的数字用相同的位值表示,因此我能想到签名最重要的地方是:

  • 将数字转换为其他位表示时.在8,16和32位整数类型之间,您可以根据需要使用位掩码.
  • 将数字转换为十进制格式时,通常转换为字符串.
  • 通过API或协议与非Java系统互操作.再次数据只是位,所以我没有看到这里的问题.
  • 使用数字作为内存或其他偏移量.对于32位整数,这可能是非常大的偏移的问题.

相反,我发现我不需要考虑无符号和有符号数之间的操作以及它们之间的转换.我错过了什么?在编程语言中使用无符号类型有什么实际好处?如何让Java更好?

java language-design

2
推荐指数
1
解决办法
527
查看次数

标签 统计

java ×1

language-design ×1