最近当我在LeetCode上做一些练习时,我发现了一些技巧性的解决方案。它使用Object o来引用一个数组Object o = new Object[]{null,null};
,我想也许这是因为在java中一切都是object.But当我尝试这种方式时,它出错了。 Object o3 = {1,2};
所以我想尽办法来初始化数组,我想看到的差异,像这些Java中静态初始化和动态初始化有什么区别?
int arr[] = {1,2};
Object o = arr;
Object o1 = new int[2];
Object o2 = new int[]{1,2};
Object o3 = {1,2};
只有O3将编译error.I不知道是否是因为initialization.I的方式知道当我使用静态初始化它将首先分配内存,当使用动态初始化它不会。它们之间的任何其他差异会导致此错误?当我使用new来创建一个数组。它在jvm中做了什么?在此先感谢。
“in java everything is object”不,原语不是对象 – m0skit0
一个'差异'是在Java中没有'静态初始化'这样的事情。 – EJP