getメソッドを使用して別のクラスの配列要素にアクセスしようとすると、NullPointerExceptionが発生し続ける。私のコードは、配列を初期化するためにコンストラクタを使用し、それは正常に動作します。getメソッドは、antherクラスのフォームを呼び出すとnull配列を返します。 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]);
}
}
`
通話の[mcve]を共有できますか? – Mureinik
@Mureinikちょっと丁度お願いします。 –
あなたが投稿したこのコードでは、それは不可能です..あなたはやっています*** this.magazineName = new String [magazineName.length]; ***雑誌はnullにはなれません –