实际上我在研究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)
我该怎么做才能解决这个铸造问题?
答案 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
类型。