本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看<活动链接>
提问:为什么Java不支持无符号整数?
为什么Java不支持无符号整数?在我看来,这是一个奇怪的遗漏,因为无符号整数允许对意外大的输入时编码而不产生溢出的情况。
此外,使用无符号整数可以是一种自我规约的形式,因为它们相当于指定无符号int打算保留的值永远不会为负。
最后,在某些情况下,无符号整数对于某些操作(例如除法)可能更有效。
回答1:
我认为逻辑是这样的:
通常,Java设计人员希望简化可用数据类型的清单
出于满足日常使用的目的,他们认为相对于无符号整数而言,最常用的是有符号整数。
为了实现某些算法,有时确确实实页需要无符号算术,但是将要实现这种算法的那种程序员也将具有“工作”能力,他们可以对带符号数据类型进行无符号化,并进行计算。
综上所述,我认为这是一个机智的决定。但我会:
- 使字节无符号,或者至少提供一个有符号或无符号的别称
- 删除short类型(你上次使用short类型是什么时候)
尽管如此,通过一点点合并,对不超过32位的无符号值进行的操作也不错,而且大多数人不需要进行无符号的64位除法或比较。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END