26

我有以下代码:

List<int> intList = new ArrayList<int>();
for (int index = 0; index < ints.length; index++)
{
    intList.add(ints[index]);
}

它给了我一个错误...

Syntax error on token "int", Dimensions expected after this token

错误发生在以 开头的行上List。有人可以解释为什么我会收到错误吗?

4

4 回答 4

47

Java 中的泛型不适用于. 您可能应该使用包装器类型,例如:intInteger

List<Integer> ints = ...

而且,要访问 a List,您需要使用ints.get(index).

于 2012-06-17T06:46:48.193 回答
10

您只能在该<>部分中使用 Object 类型,而您正在尝试使用原始类型。试试这个...

List<Integer> intList = new ArrayList<Integer>();

然后,您需要使用intList.get(index)and访问这些值intList.set(index,value)(以及intList.add(value)您尝试执行的操作)

于 2012-06-17T06:46:15.553 回答
4

您应该使用 Integer 而不是 int 因为列表需要对象而不是原始类型。但是您仍然可以将 int 类型的元素添加到您的 Integer 列表中

于 2012-06-17T06:44:08.300 回答
1

您可以使用Eclipse Collections中可用的原始集合。Eclipse Collections对所有原语都有ListSet和。原始集合中的元素作为原始元素维护,并且不会发生装箱。BagMap

您可以像这样初始化IntList

MutableIntList intList = IntLists.mutable.empty();

注意:我是 Eclipse Collections 的贡献者。

于 2016-03-27T01:24:08.053 回答