Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:将对象强制转换为数组类型_Java - Fatal编程技术网

Java:将对象强制转换为数组类型

Java:将对象强制转换为数组类型,java,Java,我使用的web服务返回类型为“object”的普通对象。调试清楚地表明,这个对象中有某种数组,所以我想知道如何将这个“对象”强制转换为数组(或类似的数组) 我尝试了以下方法: Collection<String> arr = (Collection<String>) values; Vector<String> arr = (Vector<String>) values; ArrayList<String> arr = (ArrayLi

我使用的web服务返回类型为“object”的普通对象。调试清楚地表明,这个对象中有某种数组,所以我想知道如何将这个“对象”强制转换为数组(或类似的数组)

我尝试了以下方法:

Collection<String> arr = (Collection<String>) values;
Vector<String> arr = (Vector<String>) values;
ArrayList<String> arr = (ArrayList<String>) values;
Collection arr=(Collection)值;
向量arr=(向量)值;
ArrayList arr=(ArrayList)值;
但什么都没用。我总是得到一个InvocationTargetException

我做错了什么

编辑


遗憾的是,我不得不删除显示Eclipse调试器输出的图像的链接,因为它不再可用。请不要奇怪为什么在回答中提到了一个不再存在的图像。

您的
对象显然是一个
对象[]
,包含一个
字符串[]
,包含值

String[] stringValues = (String[])values[0];
您得到的(根据调试图像)是一个包含字符串数组的对象数组。所以你需要一些类似的东西:

Object[] objects = (Object[]) values;
String[] strings = (String[]) objects[0];
您尚未显示
值的类型
-如果这已经是
对象[]
,那么您可以只使用
(字符串[])值[0]

当然,即使对
Object[]
进行强制转换,您仍然可以在一条语句中完成,但这很难看:

String[] strings = (String[]) ((Object[])values)[0];

InvocationTargetException包含另一个异常。它说什么?Eclipse说ClassCastException。