java - 这两种初始化简单数组的方法之间的区别

标签 java arrays

在 java 中,我可以通过以下方式初始化具有预定义内容的数组:

int[] myArr = new int[]{1,2,3};

或通过:

int[] myArr = {1,2,3};

从本质上讲,这两种方式有什么区别吗?它们在 Java 中完全相同吗?哪种方式更好,为什么?

最佳答案

在你的情况下没有区别。

当您不将数组分配给变量并进行内联创建时,会有一个不同

例如,考虑有一个方法,它以一个数组作为参数。

  private  void someX(int[] param){
              // do something
          }

您的案例:

  someX(myArr);     // using some declared array .I.e your case

现在看看在其他情况下调用它的区别。

      someX(new int[] {1,2,3}); //  yes, compiler satisfied.
      someX({1,2,3});     //Error. Sorry boss, I don't know the type of array

关于java - 这两种初始化简单数组的方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19658624/

相关文章:

java - 通过 Java 获取 ActiveMQ/Jolokia/HawtIO 的凭证

java - 如何使用 JXL 创建新的 Excel 文件?

java - 在构建/部署时更改配置文件

javascript - 如何使数组中收集的循环值在循环外部可用以供将来使用

java - 在 Eclipse 中链接到生成的 Java protobuf 代码

java - 错误 : [Dagger/MissingBinding] [dagger. android.AndroidInjector.inject(T)] Dagger

ruby - 在 Ruby 中将嵌套数组转换为嵌套哈希

python - np.transpose() 和 np.reshape() 组合在纯 numpy 和 numba 中给出不同的结果

android - 多维数组

mysql - 我该如何解决这个 System.IndexOutOfRangeException : Index was outside the bounds of the array