我想要一个包含整数数组的集合。
List<int[]> pairs = new ArrayList<>();
为了添加一个元素,我必须:
int[] newArray = {1, 2};
pairs.add(newArray);
有人可以解释一下为什么以下不起作用:
pairs.add({1,2});
是否有其他方法可以将 {1,2} 添加到对而不创建 newArray 对象?
最佳答案
大多数时候,您需要执行 new int[] { 1, 2 }
:
pairs.add( new int[] {1,2} );
唯一可以避免 new int[]
的地方是当你声明 int[]
类型的变量时,就像您对 int[] newArray = {1, 2};
所做的那样。这只是语言设计的限制。特别是,您可以阅读10.6. Array Initializers在规范中,其中指出:
An array initializer may be specified in a declaration (§8.3, §9.3, §14.4), or as part of an array creation expression (§15.10), to create an array and provide some initial values.
重要的是 { 1, 2 }
, 是一个数组初始值设定项,您可以在声明 ( int[] newArray = {1, 2};
) 或数组创建表达式 ( new int[] { 1, 2 }
) 中使用它;你不能单独使用它。
关于java - 集合中的整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21755400/