int 是一个对象吗?
看了一下,我似乎无法找到一个与此相同的问题。 我的问题是关于Java中的int[]
。
创建int[]
,使用以下语法:
int[] x = new int[5];
作为int[]
一部分的方法也让我认为它是一个Object
,但它不遵循类的Java命名约定,这让我感到困惑。 它也是一个基本类型的数组,可以像基元一样使用。
是int[]
(或者我猜的任何原始数组)是一个对象还是一个原语?
Java中的数组是Object
的子类,因此它是一个对象类型 – 即使它包含基本类型。 你可以检查一下:
int[] x = new int[5]; if (x instanceof Object) System.out.println("It's an Object!");
Java中的所有数组都被视为对象。 您可以在Java语言规范中看到这一点。 10:
在Java编程语言中, 数组是对象 (§4.3.1),是动态创建的,可以分配给Object类型的变量(§4.3.2)。 可以在数组上调用Object类的所有方法。
int[]
类型是Object
的子类,它包含Object
所有方法。 虽然从语法上看它看起来与其他对象类型不同(例如,名称中列出了原始类型,并且没有类定义),但Java语言确实将它们视为对象。
希望这可以帮助!
“数组是一个容器对象,它包含固定数量的单一类型的值。”这就是在oracle教程中定义数组的方式。因此,不仅原始数组而且对象数组本身也是一个对象。
int[] x = new int[5]; Object a=(Object)x; int[] y= (int[])a;