【发布时间】:2017-08-27 02:23:54
【问题描述】:
最近在 LeetCode 上做一些练习时,我找到了一些技巧解决方案。它使用 Object o 来引用数组Object o = new Object[]{null,null};,我想可能是因为在 java 中一切都是对象。但是当我尝试这种方式时,它出错了。Object o3 = {1,2};所以我尝试了各种方法来初始化一个数组,我想看看有什么不同,就像这些
int arr[] = {1,2};
Object o = arr;
Object o1 = new int[2];
Object o2 = new int[]{1,2};
Object o3 = {1,2};
只有o3会编译报错,不知道是不是因为初始化的方式,我知道我用静态初始化的时候会先分配内存,用动态初始化的时候不会,其他的区别导致这个错误?当我使用 new 创建一个数组时。它在 jvm 中做了什么?提前谢谢。
【问题讨论】:
-
"在 java 中一切都是对象" 不,原语不是对象
-
一个“区别”是Java中没有“静态初始化”之类的东西。
标签: java arrays initialization