Android Studio 値を代入時にNullPointerException
先日、独自のShopというクラスを配列で作成した。よくある.set~、.get~というやつです。処理速度の観点から言うと、String型の配列で十分なのですが、勉強も兼ねてj作成してみました。。実行してみると、shop.set~で、NullPointerExceptionが発生しました。なんとなく初期化がされていないんだーと、分かりましたが、どう書くのか。。。。
宣言は、こうです。
Shop shop = new Shop[5000];
Class Shop{
String name;
String addr;
public Shop{
name = "";
addr = "";
}
public voic setData(String data){// dataは2次元
name = data[0];
addr = data[1];
}
...
}
2,3時間、いろいろ試してみたのですが、自力ではだめでした。ネットで検索したところ、newで配列を確保した後、以下のようにfor分で配列分ループさせて、1つづつ、初期化していくようです。
Shop[] shop = new Shop[5000];
for (i=0;i<5000;i++){
shop[i] = new Shop();
}
shop[i].setData(data[i]);