从矢量到对象数组的转换

时间:2013-03-19 07:43:08

标签: java xml-rpc

实际上我在研究XML-RPC。我试图在客户端类中执行一个返回对象数组的方法。这是我尝试在客户端类中执行它的方法。

Object[] result =  (Object[]) client.execute("getNames" , vector);

而vector表示字符串&类型的向量数组。 “getNames”表示默认处理程序类中的方法名称:

public Object[] getNames(String a, String b, String c) {
        Vector<String> strings = new Vector<String>();
        strings.add(a);
        strings.add(b);
        strings.add(c);
        String [] arrOfString = strings.toArray(new String[strings.size()]);
        return arrOfString ;
    }

运行时,发生以下异常:

java.lang.ClassCastException: java.util.Vector cannot be cast to [Ljava.lang.Object;
    at org.apache.xmlrpc.demo.SimpleClient.<init>(SimpleClient.java:37)
    at org.apache.xmlrpc.demo.SimpleClient.main(SimpleClient.java:65)

我该怎么做才能解决这个铸造问题?

1 个答案:

答案 0 :(得分:1)

您可以在toArray方法中使用Vector类的getNames方法。

public Object[] getNames(String a, String b, String c) {
        Vector<String> strings = new Vector<String>();
        strings.add(a);
        strings.add(b);
        strings.add(c);
        return strings.toArray();
}

但是,如果我得到你真正想要做的事情,我认为你可以简单地做一些事情:

Object[] result =  vector.toArray();

如果vector确实属于Vector类型。