集合中的整数数组

时间:2014-02-13 13:18:09

标签: java arrays collections

我想拥有一个包含整数数组的集合。

List<int[]> pairs = new ArrayList<>();

为了添加一个元素我必须:

int[] newArray = {1, 2};
pairs.add(newArray);

有人可以解释为什么以下不起作用:

 pairs.add({1,2});

有没有其他方法可以在不创建newArray对象的情况下将{1,2}添加到对中?

2 个答案:

答案 0 :(得分:4)

大多数情况下,您需要执行new int[] { 1, 2 }

pairs.add( new int[] {1,2} );

您可以避免使用new int[]的唯一地方是当您声明int[]类型的变量时,就像您使用int[] newArray = {1, 2};一样。这只是语言设计的一个限制。特别是,您可以在规范中阅读10.6. Array Initializers,其中指出:

  

可以在声明中指定数组初始值设定项(§8.3,§9.3,   §14.4),或作为数组创建表达式(第15.10节)的一部分来创建   一个数组并提供一些初始值。

重要的是,{ 1, 2 }是一个数组初始值设定项,您可以在声明(int[] newArray = {1, 2};)或数组创建表达式({{1)中使用它}});你不能单独使用它。

答案 1 :(得分:1)

你的语法有点不对 试试这个:pairs.add(new int[]{1,2});