3.7 为什么Java不支持无符号整数?| Java Debug 笔记

本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看<活动链接>

提问:为什么Java不支持无符号整数?

为什么Java不支持无符号整数?在我看来,这是一个奇怪的遗漏,因为无符号整数允许对意外大的输入时编码而不产生溢出的情况。

此外,使用无符号整数可以是一种自我规约的形式,因为它们相当于指定无符号int打算保留的值永远不会为负。

最后,在某些情况下,无符号整数对于某些操作(例如除法)可能更有效。

回答1:

我认为逻辑是这样的:

通常,Java设计人员希望简化可用数据类型的清单

出于满足日常使用的目的,他们认为相对于无符号整数而言,最常用的是有符号整数。

为了实现某些算法,有时确确实实页需要无符号算术,但是将要实现这种算法的那种程序员也将具有“工作”能力,他们可以对带符号数据类型进行无符号化,并进行计算。

综上所述,我认为这是一个机智的决定。但我会:

  • 使字节无符号,或者至少提供一个有符号或无符号的别称
  • 删除short类型(你上次使用short类型是什么时候)

尽管如此,通过一点点合并,对不超过32位的无符号值进行的操作也不错,而且大多数人不需要进行无符号的64位除法或比较。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享