当我输入时:
int[] i = new int[3];
在我的 IntelliJ 中,我可以看到“i”具有“length”属性和“clone”方法。所以我真的想知道,java的“Array”是否是原始类型?我想只有“对象”才应该具有方法的属性,对吗?
或者java编译器或jvm做了一些特殊的事情,使得数组的原始类型“看起来就像对象”?
请大家帮忙解释一下。谢谢!
最佳答案
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
关于java - java的数组是 "primitive type"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53908938/