web-dev-qa-db-ja.com

Javaで失敗する新しいArrayList <int>()

私は次のコードを持っています:

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で始まる行で発生します。エラーが発生する理由を誰かが説明できますか?

24
Alan2

Java)は 該当なし からプリミティブ型まで) int。おそらくIntegerなどの ラッパータイプ を使用する必要があります。

_List<Integer> ints = ...
_

そして、 List にアクセスするには、ints.get(index)を使用する必要があります。

45
nobeh

プリミティブ型を使用しようとしているのに対して、_<>_セクション内でのみオブジェクト型を使用できます。これを試して...

_List<Integer> intList = new ArrayList<Integer>();
_

次に、intList.get(index)およびintList.set(index,value)を使用して値にアクセスする必要があります(また、しようとしているときにintList.add(value)も)

10
wattostudios

リストにはプリミティブ型ではなくオブジェクトが必要なので、intではなくIntegerを使用する必要があります。しかし、整数型の要素を整数リストに追加することはできます

4
Adel Boutros

Eclipse Collections で利用可能なプリミティブコレクションを使用できます。 Eclipseコレクションには、すべてのプリミティブに対してListSetBagおよびMapがあります。プリミティブコレクションの要素はプリミティブとして維持され、ボクシングは行われません。

IntList は次のように初期化できます。

MutableIntList intList = IntLists.mutable.empty();

注:私はEclipse Collectionsの寄稿者です。

1