将Matlab运行时中的Object[]结果转换为双[][]数组Java

将Matlab运行时中的Object[]结果转换为双[][]数组Java,java,arrays,matlab,matlab-deployment,Java,Arrays,Matlab,Matlab Deployment,如何在Matlab运行时将Object[]结果转换为double[][]数组Java? 我试过这样的“toDoubleArray”: MWNumericArray data1=null; MWNumericArray data2=null; Object[] result = null; Class1 lse = null; Object[] hasil; try { data1=new MW

如何在Matlab运行时将Object[]结果转换为double[][]数组Java? 我试过这样的“toDoubleArray”:

MWNumericArray data1=null;
        MWNumericArray data2=null;
        Object[] result = null;
        Class1 lse = null;
        Object[] hasil;
        try {
            data1=new MWNumericArray(A, MWClassID.DOUBLE);
            data2=new MWNumericArray(target, MWClassID.DOUBLE);
            lse = new Class1();
            result = lse.rekursif_lse(1, data1,data2);
            System.out.println(" "+result[0]);
            MWNumericArray mytemp = (MWNumericArray) result[0];
            double[][] bar =(double[][]) mytemp.toDoubleArray();
            T = bar;
            for(i=0;i<=20;i++){
            for(j=0;j<2;j++){
                System.out.println(" "+T[i][j]);
            }
        }
        }catch (Exception e) {
        System.out.println("Exception! "+e.toString());}
        finally
        {
         MWArray.disposeArray(data1);
         MWArray.disposeArray(data2);
         MWArray.disposeArray(result);
         lse.dispose();
        }

如何解决这个问题?

您混淆了数组索引:您有一个带有测量值[20][1]的二维数组,但在打印循环中您放置了:

 for(i=0;i<=20;i++){
     for(j=0;j<2;j++){
          System.out.println(" "+T[i][j]);
     }
 }

for(i=0;我想知道答案!但我的意思是我想将对象[]输入到T[][]中。但是我已经通过更改对象[]数组,然后调用getData()完成了这项工作方法。之后,我使用for循环获取数据。再次,非常感谢!!!@assafs没问题,我希望我能帮上一点忙。如果您还有其他问题,请您编辑上面的问题,我将尝试提供更多帮助。再次感谢您的帮助。但我已经通过getdata()解决了这个问题方法。非常感谢!如果一切都解决了,你们都完成了-你们介意接受我的答案吗?点击答案旁边的灰色复选标记,使其变为绿色?
 for(i=0;i<=20;i++){
     for(j=0;j<2;j++){
          System.out.println(" "+T[i][j]);
     }
 }
for(i=0;i<=20;i++){
    System.out.println(" "+T[i][0]);
}