如何初始化primitives数组?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (36)

初始化原语数组的这两种方法到底有什么区别:

int[] arr1 = new int[]{3,2,5,4,1};

int[] arr2 = {3,2,5,4,1};

哪一种更好?

提问于
用户回答回答于

编译器并不总是能够理解第二个选项:

public int[] getNumbers() {
   return {1, 2, 3}; //illegal start of expression
}

在这种情况下,您必须使用完整的语法:

public int[] getNumbers() {
   return new int[]{1, 2, 3};
}
用户回答回答于

没有,它们产生完全相同的字节码。我认为第二种形式在旧版本的Java中可能不受支持,。

既然如此,这就变成了一个风格问题,这是一个个人偏好的问题。个人更喜欢第二种。

扫码关注云+社区

领取腾讯云代金券