为什么Java不支持unsigned int?

问题:

为什么Java不支持无符号整数?
在我看来,这是一个奇怪的遗漏,因为他们允许一个人编写的代码不太可能在意外的大量输入中产生溢出。
此外,使用无符号整数可以是一种自我文档的形式,因为它们表示无符号int意图保持的值从不被认为是负数。
最后,在某些情况下,无符号整数对于某些操作(如划分)可能更有效。
包括这些的缺点是什么?

回答:

这是从interview with Gosling and others,关于简单性:

戈斯林:对于我来说,作为一个语言设计师,我不太认为自己是这几天,“简单”真的是最终的意思,我可以期待J. Random Developer将他的头衔保留下来。这个定义说,例如,Java并不是 – 事实上,很多这些语言最终都是很多角落,没有人真正理解的事情。测试任何C开发人员关于unsigned,很快你会发现,几乎没有C开发人员实际上明白什么是unsigned,什么无符号算术。像这样的事情使得C变得复杂。 Java的语言部分,我觉得很简单。图书馆你必须查找。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Why doesn’t Java support unsigned ints?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

64 − 61 =