java - java的数组是 "primitive type"吗?

标签 java arrays methods types primitive

当我输入时:

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/

相关文章:

Java Swing Mac OSX 标题栏

java - getDeclaredMethods() 在 Java 7 和 Java 8 中的行为不同

java - Eclipse 导航器上下文菜单

java - 在 Java 中创建类数组(而不是对象)?

javascript - 浏览器对 array.includes 和替代方案的支持

java - 从方法内的决策语句调用时 println 不会发生(在 Java 中)

android - Android webview的loadData和loadDataWithBaseURL有什么区别

java - 如何找到 double 变量的 log 2 基数?

java - Dropwizard:处理多个 dropwizard 实例

javascript:通过链接两个数组创建一个 JSON 对象数组