我试图通过使用以下方法获取整数向量:
Vector<int> vec =new Vector<int>();
但我收到一个错误:
标记“int”上的语法错误,此标记后预期的尺寸
我知道 Vector 只接受对象,
有没有一种简单的方法来拥有一个整数向量而不创建一个只存储一个 int 的对象?
谢谢
只需使用Vector<Integer>
.
自动装箱将允许您添加Integer
s,就好像它们是int
s 一样。
例如:
Vector<Integer> vector = new Vector<>(); //Diamonds are allowed in 7+
vector.add(5);
此外,您忘记提及向量的实例名称。
有没有一种简单的方法来拥有一个整数向量而不创建一个只存储一个 int 的对象?
There already is such a type, it's called Integer
. It's the boxed type of the primitive type int
. But because of the way that generics in Java are implemented, they do not support type parameters that are primitives. Instead, for primitives, you must use the boxed type. So in your case
Vector<Integer> vector = new Vector<Integer>();
You can leverage the fact that primitives are auto boxed/unboxed to/from their boxed type to write code like
vector.add(42);
and
int answer = vector.get(42);
The compiler will convert these to the appropriate boxing and unboxing operations.
泛型中的形参必须是对象而不是原语。像这样使用Integer
包装器:Vector<Integer>
.
你可以使用Integer
对象。采用Vector<Integer>
Vector<Integer>=new Vector<Integer>();