根据文档Integer
class:
Integer 类将基本类型 int 的值包装在对象中。 Integer 类型的对象包含一个类型为 int 的字段。
和文档int
:
默认情况下,int 数据类型是 32 位有符号二进制补码整数,其最小值为-2^31
和最大值2^31-1
.
另外,根据这个Answer https://stackoverflow.com/a/10430634/4738175:
在Java中,每个变量都有一个在源代码中声明的类型。有两种类型:引用类型和原始类型。引用类型是对对象的引用。原始类型直接包含值。
So, my question是:怎么样int
Java 中实现的原始类型?Integer
作为一个类可以想象创建它的对象。然而再一次Integer
类用途int
。是通过什么方式int
实现为java,以便我们可以使用它并允许执行它的所有算术运算。对此的深入了解将会非常有帮助。
我尝试了许多现有的答案和文章,但没有找到我的问题的答案,其中包括:
- 原始数据类型 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
- 整数类 https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html
- Java:原始数据类型 http://cs.fit.edu/~ryan/java/language/java-data.html
- Java中int可以为null吗? https://stackoverflow.com/questions/2254435/can-an-int-be-null-in-java
- 原始数据类型 https://en.wikipedia.org/wiki/Primitive_data_type
PS:
如果我的问题的任何部分不清楚/不正确,请在评论部分告诉我。
int
和其他基本类型由Java编译器直接实现JVM https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html#jvms-2.2。他们不是班级。它们是值类型,而不是引用类型。
编译器发出 iload、iadd 和 istore 等字节码,不涉及方法调度。
Integer
几乎是一个普通的班级。它的实例是在堆上分配的。每个实例包含一个int
value.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)