java - Java 中的原始类型与对象类型

标签 java object primitive

<分区>

我想到了这个问题,因为我在某处读到 Java 不是纯面向对象的语言,因为它使用的是原语(不是对象)。我可以同意。现在我的问题是为什么我们使用 primitives/wrappers 而我们已经有相同类型的对象?

例如,如果我们考虑 Integer,除了对象行为之外,它与 int 具有相同的值限制。为什么 Java 在这种情况下仍然使用 primitives

在我看来,如果 Java 只使用 Object 类型 Autoboxing and Unboxing不需要。顺便说一下,String 也没有原语。

最佳答案

一个原因是由于内存使用。与至少 8 字节的对象相比,intfloat 等基元需要更少的内存分配(我认为是 4 字节)。请看下面reference :

此外,许多算术(数字)是通过使用基元而不是它们的等效对象来完成的,这是它们在 Java 语言中非常重要的另一个原因。

关于java - Java 中的原始类型与对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18333648/

相关文章:

java - 原始赋值的正确思考方式

java - 从字符串中获取原始数字类型的类

Java: int.class 与 Class.getPrimitiveClass ("int");

java - 如何在 XML 中使用 ESC ( ) 字符?

javascript - 检查对象是否有key和value

java - 如何打印 2 个整数但不添加它们?

java - 将值设置为对象数组

javascript - 在附加到对象属性的 javascript 函数中使用 'this'

java - 运行tomcat时设置Java窗口的标题

java - 收到 SSLHandshakeException : Received fatal alert: handshake_failure from Payara server while trying to connect Third party URLs