当我尝试使用get方法从另一个类访问数组元素时,我不断收到NullPointerException。我的代码使用构造函数初始化数组,它工作得很好。
MagazineValue.class
public class MagazineValue {
public MagazineValue(){
}
private String[]magazineName;
public MagazineValue(String[] magazineName){
this.magazineName = new String[magazineName.length];
System.arraycopy(magazineName, 0, this.magazineName, 0,
magazineName.length);
}
public String[] getMagazineName(){
return magazineName;
}
}
这里的构造函数将参数的数组值复制到私有数组变量。 当我尝试从另一个类调用getMagazineName()时,它表明该数组仍为null。有什么办法可以解决这个问题吗?这看起来很容易,但我花了很多时间。
FirebaseValueListner.class
public class FirebaseValueListner {
public void setMagazineName(){
String[]magazineName={"African Daily" , "African Bussines", "African Women"};
MagazineValue setValue= new MagazineValue(magazineName);
}
}
FirebaseValueListner从Firebase数据库获取值,并将其值保存到ArrayList,然后将值复制到数组。 数组将传递给MagazineValues的构造函数。
LibraryFragment.class`
public class LibraryFragment {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[]magazineName;
MagazineValue getMagazineName;
getMagazineName=new MagazineValue();
magazineName=getMagazineName.getMagazineName();
System.out.println("Magazine Name : " +magazineName[1]);
}
}
`
答案 0 :(得分:0)
您必须定义不带参数的构造函数。因为你写了getValue = new MagazineValue();
它可能没有初始化字段magazineName
。