0

实际上正在研究 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)

我能做些什么来解决这个铸造问题?

4

1 回答 1

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();

ifvector确实是 type Vector

于 2013-03-19T07:45:17.613 回答