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 = ...

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

于 2012-06-17T06:46:48.193 に答える
10

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

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

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

于 2012-06-17T06:46:15.553 に答える
4

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

于 2012-06-17T06:44:08.300 に答える
1

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

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

MutableIntList intList = IntLists.mutable.empty();

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

于 2016-03-27T01:24:08.053 に答える