看了一下,我似乎找不到与此相同的问题。我的问题是关于int[]
Java 的。
创建 时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 语言规范 Ch. 中看到这一点。10:
在 Java 编程语言中,数组是对象(第 4.3.1 节),是动态创建的,并且可以分配给 Object 类型的变量(第 4.3.2 节)。Object 类的所有方法都可以在数组上调用。
该类型int[]
是Object
具有所有方法的子类 from Object
。尽管在语法上它看起来与其他对象类型不同(例如,名称中列出了一个原始类型并且没有类定义),但 Java 语言确实将它们视为对象。
希望这可以帮助!
“数组是一个容器对象,它包含固定数量的单一类型值。”这就是在oracle教程中定义数组的方式。因此,不仅原始数组而且对象数组都是对象本身。
int[] x = new int[5];
Object a=(Object)x;
int[] y= (int[])a;