java - 为什么某些 Java 包装类的名称与其原始类型不同?

标签 java wrapper primitive

是否有原因导致某些包装类与不同大小写的基元具有相同的名称(即 boolean/Boolean),而有些则不然(即 int/Integer)?

我不想发表意见,但想知道原因是否基于相关的设计决策,以解决似乎不一致的问题。

最佳答案

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

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

boolean 与 C99 之前的 typedef 的 bool 不同,首次在 ALGOL 60 中使用。 C++ 有一个单独的数据类型,称为 bool。然而,我不认为 ALGOL 60 实际上有“boolean”这个名字。它以乔治· boolean (George Boole) 命名,他在 19 世纪中叶首次定义了代数逻辑系统。

至于为什么自动装箱的类名与原始名称不同,原始名称已经存在,就像我所描述的那样。由于您可能会在代码中难以区分 intInt 之间的区别,因此它变得更加明确。在 Java 中,按照惯例,类名采用驼峰命名法。因此,Integer 被拼写出来并大写。

关于java - 为什么某些 Java 包装类的名称与其原始类型不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22052113/

相关文章:

java - 通过 bjdwp 在 Linux 上调试黑莓

class - Mootools:使用类选择器时用 anchor 包裹元素

java - 为什么 Maven 每次都下载 maven-metadata.xml?

java - 非阻塞 IO 仍然是服务器端 Java 的问题吗?

java - 在Java中获取包装类类型的简单方法

javascript - 如何在 JavaScript 中引用原始类型?

Java 重载 : reference to call ambiguous

java - Java 中复合赋值(+=、-=、*=、...)的混淆

java - @ConditionalOnProperty : does it have an impact only on annotation specified below?

java - 如何在 Java 中将 Integer[] 转换为 int[] 数组?