在Java中是int对象吗?

更确切地说,int是Integer类的一部分(一个精简版或其他东西)还是完全不同的东西?

我知道int是一个值类型而Integer是一个引用类型,但int是否仍然从Objectinheritance?

(我假设在这方面int,long,boolean等都是相似的。为方便起见,只选择了int)

  • Java中的基本类型不是对象,也不是从Objectinheritance。

  • 自Java 1.5引入以来,允许在int和Integer(以及其他类型)之间进行自动装箱。

  • 因为int不是不能用作generics类型参数的对象,例如listT list

从“原始数据类型” :“原始类型是语言中内置的特殊数据类型;它们不是从类创建的对象。” 反过来,这意味着不, int不会以任何方式从java.lang.Objectinheritance,因为只有“从类创建的对象”才能这样做。 考虑:

 int x = 5; 

为了让名为x的东西inheritance自Object,那个东西需要有一个类型。 请注意,我区分x本身和它命名的东西。 x有一个类型,它是int ,但名为x的东西是值5,它本身没有类型。 它只是一个表示整数值“5”的位序列。 相反,考虑:

 java.lang.Number y = new java.lang.Integer(5); 

在这种情况下, y的类型为Number,而名为y的东西的类型为Integer。 名为y的东西是一个对象。 它具有不同的类型,与y或其他任何东西无关。

如果你谈论整数:

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

此外,这个类提供了几种方法,用于将int转换为String,将String转换为int,以及在处理int时有用的其他常量和方法。

int不是对象,它是一种原始类型。

原始类型不是对象,而是直接存储在所需的任何上下文中。 如果需要将它们视为对象,则可以将它们装入整数。