新的ArrayList ()在Java中失败
我有以下代码:
List intList = new ArrayList(); for (int index = 0; index < ints.length; index++) { intList.add(ints[index]); }
它给了我一个错误……
Syntax error on token "int", Dimensions expected after this token
从List
开始的行发生错误。 有人可以解释我收到错误的原因吗?
Java中的generics不适用于int
原始类型 。 您应该使用Integer
的包装类型 :
List ints = ...
并且,要访问List
,您需要使用ints.get(index)
您只能在<>
部分中使用Object类型,而您尝试使用基本类型。 尝试这个…
List intList = new ArrayList ();
然后,您需要使用intList.get(index)
和intList.set(index,value)
(以及您尝试执行的intList.add(value)
来访问这些值。
你应该使用Integer而不是int,因为列表需要对象而不是基本类型。 但你仍然可以在你的整数列表中添加int类型的元素
您可以使用Eclipse Collections中提供的原始集合。 Eclipse Collections具有所有基元的List
, Set
, Bag
和Map
。 原始集合中的元素作为基元维护,不进行装箱。
你可以像这样初始化一个IntList :
MutableIntList intList = IntLists.mutable.empty();
注意:我是Eclipse Collections的贡献者。