根据Integer
类的文档:
Integer类在对象中包装基本类型int的值。 Integer类型的对象包含单个字段,其类型为int。
和int
上的文档:
默认情况下,int数据类型是32位带符号的二进制补码整数,其最小值为
-2^31
,最大值为2^31-1
。
另外,根据这个Answer:
在Java中,每个变量都有一个在源代码中声明的类型。有两种类型:引用类型和基本类型。引用类型是对对象的引用。原始类型直接包含值。
所以,我的问题是:如何在Java中实现int
原语类型?作为一个类的Integer
可以想象创建它的对象。但是,Integer
课程再次使用int
。以int
以什么方式实现java,以便允许我们使用它并允许它执行所有的算术运算。对此的深入了解将非常有用。
我尝试了很多现有的答案和文章,但没有找到我的问题的答案,包括:
PS:
如果我的问题的任何部分不清楚/不正确,请在评论部分告诉我。
答案 0 :(得分:7)
int
和其他原始类型由Java编译器和JVM直接实现。他们不是班级。它们是值类型,而不是引用类型。
编译器发出像iload,iadd和istore这样的字节代码,不涉及方法分派。
Integer
几乎是一个普通的课程。它的实例在堆上分配。每个实例都包含int
值。