Java的数组是“原始类型”吗?

时间:2018-12-24 03:34:21

标签: java arrays methods types primitive

当我键入:

int[] i = new int[3];

在我的IntelliJ中,我可以看到“ i”具有“ length”属性和“ clone”方法。所以我真的很奇怪,java的“ Array”是原始类型吗?我想只有“对象”应该具有方法的属性对吗?

还是Java编译器或jvm完成了一些特殊的操作,使Array的原始类型“看起来像对象”?

请帮助解释。谢谢!

1 个答案:

答案 0 :(得分:1)

java的数组是“原始类型”吗?

。 Java的数组是引用类型。您可以查看java.lang.reflect.Array类,以了解其内部工作方式。例如,

int[] i = { 1, 2, 3 };
Object v = i;
System.out.println(v.getClass());
System.out.println(Array.get(v, 1));

输出

class [I
2