java int数组加new和不加new有什么区别?

int[] ids = {1, 2, 3, 4, 5};
int[] ids = new int[]{1, 2, 3, 4, 5};
这两种创建int数组的形式从内存的角度上有什么区别?

你说的这两种没有任何区别,完全等价,不同的写法而已。都是直接初始化为这些值。

如果下面这种,可能有区别:

int[] ids = new int[5];
for (int i = 0; i <5; i++) {
    ids[i] = i+1;
}

这种是开辟数组后,初始化为0,然后在逐次赋值。

温馨提示:答案为网友推荐,仅供参考