日期:2014-05-20  浏览次数:20790 次

关于Vector的用法问题
能不能向Vector变量中添加Vector类型的元素

例如Vector   vector=new   Vector();
        Vector   tmpVector=new   Vector();
        tmpVector.addElement( 'a ');
        tmpVector.addElement( 'b ');
        vector.addElement(tmpVector);

能不能想上面这样使用,在取出其中的元素的时候该怎么用呢
望高手指教

------解决方案--------------------
一楼正解。
但JDK1.5(即5.0)以后最好使用范型来解决,即像Vector等集合类对象指定元素的类型。比如:
Vector <Vector> vector=new Vector <Vector> ();
Vector <String> tmpVector=new Vector <String> ();
tmpVector.addElement( "a ");
tmpVector.addElement( "b ");
vector.addElement(tmpVector);
这样,就很清楚的知道vector存储的是元素是Vector类型的,而tmpVector存储的元素是String类型。
取的时候可以直接写:Vector v = vector.get(0);而不用进行类型转换,保证的类型安全。当然,如果这时候你把vector.get(0)赋值给其他类型的对象,编译就不会通过。
------解决方案--------------------
Vector tmpVector=new Vector();
tmpVector.addElement( 'a ');
tmpVector.addElement( 'b ');
vector.addElement(tmpVector);
//嵌套迭代输出
for(Object obj: vector){
Vector v=(Vector)obj;
for(Object object : v){
System.out.println(object);
}
}