为什么有些Java包装类的名称与它们的原始类型不同?

时间:2014-02-26 20:05:41

标签: java wrapper primitive

是否有理由让某些包装类与具有不同大小写的基元(即布尔/布尔)具有相同的名称,而有些则不是(即int / Integer)?

我不想要意见,但要知道原因是否基于相关的设计决策,看似不一致。

1 个答案:

答案 0 :(得分:1)

可能是因为Java是为吸引C / C ++开发人员而创建的。

int来自C ++,它从C语言中获取。

boolean而不是预先C99 typedef'd bool首先在ALGOL 60中使用。 C ++有一个名为bool的独立数据类型。我不认为ALGOL 60实际上有名称boolean。它以George Boole的名字命名,George Boole在19世纪中期首次定义了一个代数逻辑系统。

至于为什么autoboxed Class name与原始名称,原始名称已经存在,就像我描述的那样。由于您可能会在代码中告诉intInt之间存在差异,因此会更加明确。在Java中,按照惯例,类名在CamelCase中。因此,Integer被拼写出来并大写。