我是否必须一个一个地推动我的元素?我试过像
这样的东西String[] array;
array=...
Vector<String> vector = new Vector<String>(array);
但是我的eclipse将此标记为错误。
答案 0 :(得分:13)
Vector
没有直接接受数组的构造函数。
假设array
的类型为String[]
,您可以
Vector<String> vector = new Vector<String>(Arrays.asList(array));
最好使用ArrayList
,因为它没有使用同步方法的开销。你可以用
List<String> list = new ArrayList<>(Arrays.asList(array));
这也会产生一个可变的集合。
答案 1 :(得分:3)
这是行不通的,因为正如the documentation所示,没有Vector构造函数将数组作为参数。
如果您只想要一个不可修改的列表,请使用
List<String> list = Arrays.asList(array);
如果你真的想要一个Vector(但你应该使用ArrayList,因为Vector已经过时了),请使用
Vector<String> vector = new Vector<String>(Arrays.asList(array));
答案 2 :(得分:0)