Vector的向量作为java程序的输入给出了从String args []到Vector类型的转换问题

时间:2015-04-07 12:41:42

标签: java vector casting

应该给程序的输入参数是Vector of Vectors,如下所示,

[['red','black','blue'],['white','grey','yellow'],['white','orange']]

代码:

public static void main(String[] args) {
Vector<Vector<String>> v1= new Vector<Vector<String>>();
     v1.add((Vector<String>) Arrays.asList((args[0])));
}

将运行时错误称为java.util.Arrays$ArrayList cannot be cast to java.util.Vector

请建议如何将此String转换为Vector。

1 个答案:

答案 0 :(得分:2)

您正在尝试将List<String>转换为Vector<String>,这会在运行时失败。

由于Vector已过时,我建议您改用List<List<String>>

修改

如果您真的必须使用Vector s,则无法投射,但您可以使用以下习语:

Vector<String> argsVector = new Vector<String>();
argsVector.add(args[0]);
v1.add(argsVector);