编译器一直说Array is Null(Android Studio)

时间:2016-12-09 13:48:11

标签: java android arrays

我已经声明了一个全局数组,它是在一个方法中初始化的。问题是,我需要使用数组的长度作为另一个方法的参数传递它,但是当我这样做时,我得到一条消息说数组为空。我理解为什么它是null,但我不确定解决方案是什么?

代码示例:

Public class Example A{
 int element;   
int [] NumArray;

element = NumArray.length -1


}

public Method(){
NumArray = new int [length]
}

错误出现在以下行:element = NumArray.Length -1

就像我说的,我理解为什么它是null,但我不知道如何解决它,因为由于我的代码结构,数组的初始化必须在方法中出现。

有什么方法可以从方法中获取数组的长度并在main方法中返回它?

1 个答案:

答案 0 :(得分:3)

问题在于:

int [] NumArray;
element = NumArray.length -1

<强>详细信息: 你声明 NumArray 但是在调用构造函数之前永远不会初始化它(这是100%正常)但是下一行你试图获得非初始化数组的NumArray.length,这就是原因...

<强>解决方案: 将此行放在构造函数中,它属于它

element = NumArray.length -1;

public Method(){
    NumArray = new int [length]
    element = NumArray.length -1;
}