我需要一个一步到位的方法吗?我尝试了以下代码:
String[] array;
array=...
Vector<String> vector = new Vector<String>(array);
但我的Eclipse把这个标记为错误。
我需要一个一步到位的方法吗?我尝试了以下代码:
String[] array;
array=...
Vector<String> vector = new Vector<String>(array);
Vector
没有直接接受数组的构造方法。
假设array
是String[]
类型,你可以这样做:
Vector<String> vector = new Vector<String>(Arrays.asList(array));
最好使用ArrayList
,因为它没有同步方法的开销。你可以使用
List<String> list = new ArrayList<>(Arrays.asList(array));
这也会产生一个可变的集合。
array
是一个 String
。 - Buhake SindiList<String> list = new Vector<String>(Arrays.asList(array));
,甚至更好的方式是 List<String> list = new ArrayList<String>(Arrays.asList(array));
。 - Steve Kuo这样做是行不通的,因为正如文档所示,没有以数组为参数的Vector构造函数。
如果你只想要一个不可修改的列表,请使用
List<String> list = Arrays.asList(array);
如果你真的想要使用Vector(但是应该使用ArrayList,因为Vector已经过时),请使用
Vector<String> vector = new Vector<String>(Arrays.asList(array));