int []是一个对象吗?

时间:2014-08-16 16:34:47

标签: arrays jvm int

  

假设int [] a = new int [];它会创建一个新对象吗?   还有一个问题。   如果int [] a = {1,4,5,6}这里它会创建一个新对象吗?如果它创建了一个>新对象,那么它将如何创建

3 个答案:

答案 0 :(得分:1)

如果您正在谈论Java,那么答案是肯定的,它将创建一个新对象

Java语言规范第4.3.1节明确指出:

  

对象是类实例或数组。


此外,

  

在Java编程语言中,数组是对象(§4.3.1),是   动态创建,可以分配给Object类型的变量   (§4.3.2)。可以在数组上调用Object类的所有方法。

答案 1 :(得分:0)

数组只是对象。数组是保存基元或对象

的引用的对象

答案 2 :(得分:0)

Java Arrays是具有合成糖的对象。

int [] a = new int[2];
a[0] = 1;
a[1] = 2;
System.out.println(Arrays.toString(a)); 

您也可以声明数组

int [] a = {1,2};

无论您如何声明数组,它都是一个Object。是否有一个长度字段,另外你可以将它强制转换为一个对象,

int[] a = { 1, 2 };
Object o = a;
System.out.println(o.getClass().getName());

输出不幸的名字,

[I

您可以使用反射包中的Array实用程序

System.out.println(Array.get(a, 0));

来自Array Javadoc,

  

Array类提供动态创建和访问Java数组的静态方法。