new ArrayList<int>() 在 Java 中失败



我有以下代码:

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 开头的行上。有人可以解释为什么我收到错误吗?

Java 中的泛型不适用于 int 中的基元类型。您可能应该使用包装器类型,例如 Integer

List<Integer> ints = ...

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

您只能在<>部分中使用 Object 类型,而您尝试使用基元类型。试试这个...

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

然后,您需要使用 intList.get(index)intList.set(index,value) 访问这些值(并且intList.add(value)就像您尝试的那样)

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

您可以使用 Eclipse Collections 中提供的基元集合。Eclipse 集合对所有原语都有ListSetBagMap。基元集合中的元素作为基元进行维护,并且不会发生装箱。

您可以像这样初始化 IntList:

MutableIntList intList = IntLists.mutable.empty();

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

最新更新