怎样才能直接将string类型的变量转换成vector类型的变量

解决方案 »

  1.   

    //不能直接转换,不过你可以写一个方法,给你个例子参考!
    //-----------------------------------------------------------------------------------
    //VectorDemo.java
    import java.util.*;public class  VectorDemo
    {
    public static void main(String[] args)
    {
    Vector v;
    String s="I was,I am!"; v=StringToVector.toVector(s);
    System.out.println(v.toString());
    }}class StringToVector
    {
    public static Vector toVector(String s)
    {
                 Vector v=new Vector();
     for(int i=0;i<s.length();i++)
    {
     v.add(s.charAt(i));
    }
    return v;
      
    }
    }
      

  2.   

    问题有歧义?
    是把一个字符串当作整体转为Vector类型呢 还是把String中的每个字符作为Vector的一个元素呢?
      

  3.   

    是把一个字符串当作整体转为Vector类型,Vector可以整天转换成string,它有个toString方法,那反过来该怎么做呢?
      

  4.   

    譬如
    String s=v.toString();
    v是Vector类型的变量
    那反过来应该怎样将s转换成Vector类型?
      

  5.   

    这个问题分两种情况来讨论
    1)
    public class Test2 { public static void main(String[] args) {
    Test2 test = new Test2();
    test.fun01();
    }

    public void fun01(){
    Vector v = new Vector();
    v.add("A1");
    v.add("A2");
    v.add("A3");
    Conica.pl(v);

    String vS = v.toString();
    }
    }
    如果Vector里面都是字符串的话,那么可以看到输出结果是[A1, A2, A3]
    如果要解析回来,可以用这个方法去做:
    public Vector fun03(String vS) {
    vS = vS.substring(1, vS.length() - 1);// remove the bracket
    String[] elements = vS.split(",");
    Vector v = new Vector();
    for (int i = 0; i < elements.length; i++) {
    if (i == 0) {
    v.add(elements[i]);
    continue;
    }
    int len = elements[i].length();
    String value = elements[i].substring(1, len); // remove the blank before the elements if have;
    v.add(value);
    }

    return v;
    }
    2)
    class K {
    public K(){

    }
    }public class Test2 { public static void main(String[] args) {
    Test2 test = new Test2();
    test.fun01();
    }

    public void fun01(){
    Vector v = new Vector();
    K k = new K();
    v.add("A1");
    v.add("A2");
    v.add("A3");
    v.add(k);
    Conica.pl(v);

    String vS = v.toString();
    }
    }
    如果是这样,你会看到输出的是
    [A1, A2, A3, november.K@d9f9c3]
    这样要转的话,恐怕神仙都做不到了,尤其是你在根本不知道K是什么东东的前提下。