次を使用して整数のベクトルを取得しようとしています。
Vector<int> vec =new Vector<int>();
しかし、私はエラーが発生します:
トークン「int」の構文エラー、このトークンの後にディメンションが必要です
Vector がオブジェクトのみを受け入れることは承知していますが、
intを格納するだけのオブジェクトを作成せずに整数のベクトルを持つ簡単な方法はありますか?
ありがとう
を使用するだけVector<Integer>
です。
Integer
オートボクシングを使用すると、 s を s であるかのように追加できますint
。
例えば:
Vector<Integer> vector = new Vector<>(); //Diamonds are allowed in 7+
vector.add(5);
また、ベクターのインスタンス名について言及するのを忘れていました。
intを格納するだけのオブジェクトを作成せずに整数のベクトルを持つ簡単な方法はありますか?
というタイプがすでにありInteger
ます。プリミティブ型のボックス型です。しかし、Java のジェネリックの実装方法が原因で、プリミティブである型パラメーターはサポートされません。代わりに、プリミティブの場合はボックス型を使用する必要があります。だからあなたの場合int
Vector<Integer> vector = new Vector<Integer>();
プリミティブがボックス化されたタイプとの間で自動的にボックス化/ボックス化解除されるという事実を活用して、次のようなコードを記述できます
vector.add(42);
と
int answer = vector.get(42);
コンパイラは、これらを適切なボックス化およびボックス化解除操作に変換します。
ジェネリックの仮パラメーターは、プリミティブではなく、オブジェクトでなければなりません。Integer
次のようにラッパーを使用しますVector<Integer>
。
Integer
オブジェクトを使用できます。使用するVector<Integer>
Vector<Integer>=new Vector<Integer>();