你的取法是不是有错, Vector v = new Vector(); v.add("1"); v.add("2"); v.add("3");for(int i= 0;i<v.size();i++){ System.out.println(v.get(i)); }
我是在一个累里面建立Vector v = new Vector(); public void setV{ v.add("1"); v.add("2"); v.add("3"); } public Vector getV(){return v;} 在执行了setV()之后使用getV()获取,作为参数传递给另外一个类 然后使用另外一个类中获取的Vector类的ElementAt(1),ElementAt(2)但是这两个结果一样
你是不是什么地方写错了? 下面是我写的一个测试的,是按照你的思路来写的,输出是对的啊import java.util.*; class Vt { public Vector v= new Vector(); public void setV() { v.add("1"); v.add("2"); v.add("3"); } public Vector getV() { return v; } } public class Vtest { public static void main(String[] args) { Vt vt = new Vt(); vt.setV(); Vector v2 = vt.getV(); String s0 = (String)v2.elementAt(0); String s1 = (String)v2.elementAt(1); String s2 = (String)v2.elementAt(2); System.out.println("s0 is: "+s0); System.out.println("s1 is: "+s1); System.out.println("s2 is: "+s2); } }程序输出: s0 is: 1 s1 is: 2 s2 is: 3
Vector v = new Vector();
v.add("1");
v.add("2");
v.add("3");for(int i= 0;i<v.size();i++){
System.out.println(v.get(i));
}
public void setV{
v.add("1");
v.add("2");
v.add("3");
}
public Vector getV(){return v;}
在执行了setV()之后使用getV()获取,作为参数传递给另外一个类
然后使用另外一个类中获取的Vector类的ElementAt(1),ElementAt(2)但是这两个结果一样
下面是我写的一个测试的,是按照你的思路来写的,输出是对的啊import java.util.*;
class Vt
{
public Vector v= new Vector();
public void setV()
{
v.add("1");
v.add("2");
v.add("3");
}
public Vector getV()
{
return v;
}
}
public class Vtest
{
public static void main(String[] args)
{
Vt vt = new Vt();
vt.setV();
Vector v2 = vt.getV();
String s0 = (String)v2.elementAt(0);
String s1 = (String)v2.elementAt(1);
String s2 = (String)v2.elementAt(2);
System.out.println("s0 is: "+s0);
System.out.println("s1 is: "+s1);
System.out.println("s2 is: "+s2);
}
}程序输出:
s0 is: 1
s1 is: 2
s2 is: 3
你的原因是没有new 一个新的vector
所以总是最后一个的数据
仔细看看你的代码
在传递前是不是总是new vector
下面是分开的三个类;每个类中都有一个private的Vector,从第二个开始,用上一个类的getV()方法来接收上一个类传递的Vector变量,并保存到自己的Vector变量里
(注:第三个类不知道第一个类的存在,所以第二个类的初始化工作负责设置自己的Vector变量,第三个类就可以直接调用第二个类的getV操作了)第一个类
import java.util.*;
public class Vt
{
private static Vector v= new Vector();
public void setV()
{
v.add("1");
v.add("2");
v.add("3");
}
public Vector getV()
{
return v;
}
public static void main(String[] args)
{
Vt vt = new Vt();
vt.setV();
String s0 = (String)v.elementAt(0);
String s1 = (String)v.elementAt(1);
String s2 = (String)v.elementAt(2);
System.out.println("s0 is: "+s0);
System.out.println("s1 is: "+s1);
System.out.println("s2 is: "+s2);
}
}
第二个:
import java.util.*;
public class Vtest
{
private static Vector v= new Vector();
private Vt vt;
public Vtest()
{
vt = new Vt();
vt.setV();
setV(vt.getV());
}
public void setV(Vector vec)
{
v = vec;
}
public Vector getV()
{
return v;
}
public static void main(String[] args)
{
Vtest vtest = new Vtest();
String s0 = (String)v.elementAt(0);
String s1 = (String)v.elementAt(1);
String s2 = (String)v.elementAt(2);
System.out.println("s0 is: "+s0);
System.out.println("s1 is: "+s1);
System.out.println("s2 is: "+s2);
}
}
第三个:
import java.util.*;
public class TestVector
{
private static Vector v2= new Vector();
public static void main(String[] args)
{
Vtest vtest = new Vtest();
v2 = vtest.getV();
String s0 = (String)v2.elementAt(0);
String s1 = (String)v2.elementAt(1);
String s2 = (String)v2.elementAt(2);
System.out.println("s0 is: "+s0);
System.out.println("s1 is: "+s1);
System.out.println("s2 is: "+s2);
}
}
三个类都有main方法,可以都执行看看效果