我有一段返回Object数组的代码。然后,阵列的每个切片包含最初是双精度二维数组的数据。我不能改变这段代码,因为它是Matlab的一部分(参见下面的链接)。
http://www.mathworks.com/help/mps/java/code-multiple-outputs-for-java-client.html
我的问题是如何将Object []的每个切片转换回Java中的double [] []?
以下是一些示例代码
Object[] test = getDailyLog(1,20050101,20060101);
Object a = test[1];
System.out.println(a);
从这里我得到了输出
[[D@17b90c55
答案 0 :(得分:1)
根据您的描述,可以推断'test'是一个“double [] []”数组。 因此,您可以使用coersion cast来满足您的要求,示例如下所示:
Object[] test = getDailyLog(1,20050101,20060101);
double[][] d2d;
for(Object obj : test) {
d2d = (double[][]) obj;
}