数组值不断返回null

时间:2013-07-23 09:01:03

标签: java apache-commons-math

public void doMatrix(){
    double[][] arrayA = {{a11,a12,a13,a14},{a21,a22,a23,a24},{a31,a32,a33,a34},{a41,a42,a43,a44}};      
    double[][] arrayB = {{b1},{b2},{b3},{b4}};

    RealMatrix matrixA = MatrixUtils.createRealMatrix(arrayA);
    RealMatrix matrixB = MatrixUtils.createRealMatrix(arrayB);
    RealMatrix matrixInvA = new LUDecomposition(matrixA).getSolver().getInverse();
    RealMatrix matrixAmp = matrixInvA.multiply(matrixB);
    tryit = arrayA[2][2];

    }

tryit的值放在我的android主要活动的文本框中时继续返回null。我是否错误地访问了数组?

3 个答案:

答案 0 :(得分:5)

我害怕你很困惑。

如果arrayA被声明为double[][]类型,则arrayA[2][2]无法成为null

arrayA[2][2]的类型为double,而null不是该类型的成员。 永远null值仅 对引用类型有效,double是基本类型,而不是引用类型。

程序不是您描述的程序,或者其他导致将不同的值放入文本框中。


(现在,如果arrayA被宣布为Double[][],那将是另一回事。)

答案 1 :(得分:3)

除非您已初始化所有变量,否则代码将正常工作。 tryit可能返回null,因为它没有用值初始化。

答案 2 :(得分:1)

访问阵列的语法没有问题。 arrayA [2] [2]将返回变量a33的值。您将获得null,因为变量a33的值可能为null。