【问题标题】:new ArrayList<int>() failing in Java新的 ArrayList<int>() 在 Java 中失败
【发布时间】:2023-03-23 08:16:01
【问题描述】:

我有以下代码:

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 list generics arraylist


    【解决方案1】:

    Java 中的泛型是not applicable原始类型,如int。您可能应该使用wrapper types,例如Integer

    List<Integer> ints = ...
    

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

    【讨论】:

      【解决方案2】:

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

      您可以像这样初始化IntList

      MutableIntList intList = IntLists.mutable.empty();
      

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

      【讨论】:

        【解决方案3】:

        您只能在 &lt;&gt; 部分中使用 Object 类型,而您正在尝试使用原始类型。试试这个...

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

        然后您需要使用 intList.get(index)intList.set(index,value) 访问这些值(以及您正在尝试做的 intList.add(value)

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-05-15
            • 1970-01-01
            • 2013-09-21
            • 1970-01-01
            • 2013-10-16
            • 2013-07-05
            • 1970-01-01
            • 2012-12-07
            相关资源
            最近更新 更多