如何用Java实现int?

时间:2017-02-07 07:08:54

标签: java int

根据Integer类的文档:

  

Integer类在对象中包装基本类型int的值。 Integer类型的对象包含单个字段,其类型为int。

int上的文档:

  

默认情况下,int数据类型是32位带符号的二进制补码整数,其最小值为-2^31,最大值为2^31-1

另外,根据这个Answer

  

在Java中,每个变量都有一个在源代码中声明的类型。有两种类型:引用类型和基本类型。引用类型是对对象的引用。原始类型直接包含值。

所以,我的问题是:如何在Java中实现int原语类型?作为一个类的Integer可以想象创建它的对象。但是,Integer课程再次使用int。以int以什么方式实现java,以便允许我们使用它并允许它执行所有的算术运算。对此的深入了解将非常有用。

我尝试了很多现有的答案和文章,但没有找到我的问题的答案,包括:

PS:

如果我的问题的任何部分不清楚/不正确,请在评论部分告诉我。

1 个答案:

答案 0 :(得分:7)

int和其他原始类型由Java编译器和JVM直接实现。他们不是班级。它们是值类型,而不是引用类型。

编译器发出像iload,iadd和istore这样的字节代码,不涉及方法分派。

Integer几乎是一个普通的课程。它的实例在堆上分配。每个实例都包含int值。