<分区>
最近在练习 LeetCode 的时候,我发现了一些 trick solution。它使用一个 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 中做了什么?提前致谢。