【问题标题】:Why some Java wrapper classes have different names than their primitive types? [closed]为什么某些 Java 包装类的名称与其原始类型不同? [关闭]
【发布时间】:2014-03-29 21:56:24
【问题描述】:

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

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

【问题讨论】:

  • 嗯,“因为是”?我看不出有什么特别的原因,除了可能是为了从当时的现有语言(特别是 C 系列)中“吸引”开发人员(或不谴责他们)
  • 来自 C 和 C++ 的 int。编写包装器的人认为为包装器拼写 Integer 更合适。
  • 这是在 Java 1.0 中完成的 - Sun,而不是 Oracle。
  • 根据命名约定,类的第一个字母应为大写

标签: java wrapper primitive


【解决方案1】:

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

int 来自 C++,它取自 C。

boolean 与 C99 之前的 typedef 不同,bool 首次用于 ALGOL 60。 C++ 有一个单独的数据类型,称为bool。但是,我认为 ALGOL 60 实际上并没有名称 boolean。它以 19 世纪中期首次定义逻辑代数系统的 George Boole 的名字命名。

至于为什么自动装箱的类名称与原始名称相比,原始名称已经像我描述的那样存在。由于在代码中区分intInt 时可能会感到困惑,因此它变得更加明确。在 Java 中,按照惯例,类名在 CamelCase 中。因此,整数被拼写出来并大写。

【讨论】:

  • 问题不是为什么int 被称为int,也不是为什么它不被称为integer,而是为什么相关的包装类与w.r.t 不一致。原语的名称。
猜你喜欢
  • 1970-01-01
  • 2010-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
  • 2021-07-08
  • 2011-05-30
相关资源
最近更新 更多