7

次を使用して整数のベクトルを取得しようとしています。

Vector<int> vec =new Vector<int>();

しかし、私はエラーが発生します:

トークン「int」の構文エラー、このトークンの後にディメンションが必要です

Vector がオブジェクトのみを受け入れることは承知していますが、

intを格納するだけのオブジェクトを作成せずに整数のベクトルを持つ簡単な方法はありますか?

ありがとう

4

4 に答える 4

11

を使用するだけVector<Integer>です。

Integerオートボクシングを使用すると、 s を s であるかのように追加できますint

例えば:

Vector<Integer> vector = new Vector<>(); //Diamonds are allowed in 7+
vector.add(5);

また、ベクターのインスタンス名について言及するのを忘れていました。

于 2013-06-21T16:18:06.117 に答える
3

intを格納するだけのオブジェクトを作成せずに整数のベクトルを持つ簡単な方法はありますか?

というタイプがすでにありIntegerます。プリミティブ型ボックス型です。しかし、Java のジェネリックの実装方法が原因で、プリミティブである型パラメーターはサポートされません。代わりに、プリミティブの場合はボックス型を使用する必要があります。だからあなたの場合int

Vector<Integer> vector = new Vector<Integer>();

プリミティブがボックス化されたタイプとの間で自動的にボックス化/ボックス化解除されるという事実を活用して、次のようなコードを記述できます

vector.add(42); 

int answer = vector.get(42);

コンパイラは、これらを適切なボックス化およびボックス化解除操作に変換します。

于 2013-06-21T16:18:29.350 に答える
1

ジェネリックの仮パラメーターは、プリミティブではなく、オブジェクトでなければなりません。Integer次のようにラッパーを使用しますVector<Integer>

于 2013-06-21T16:16:04.937 に答える
1

Integerオブジェクトを使用できます。使用するVector<Integer>

Vector<Integer>=new Vector<Integer>();
于 2013-06-21T16:16:37.827 に答える