有人可以告诉我为什么我会使用此代码获得null pointer exception
吗?在我的Nutrition
课程中,我实施了hash map
:
public class Nutrition implements Serializable{
private final String TAG = Nutrition.class.getSimpleName();
//class variables
...
//hash map declaration
HashMap<String, String> nutrition;
public Nutrition(JSONObject jo) throws JSONException{
//create hash map
this.nutrition = new HashMap<String, String>();
//place data in hashmap
this.serving_size = jo.optString("serving_size");
nutrition.put("serving_size", serving_size);
Log.i(TAG, serving_size + " : Serving Size");
....
}
//method to get hashmap
public HashMap<String, String> getHashMap(){
return nutrition;
}
然后在另一节课中,我致电getHashMap()
并获得null pointer
:
//nutrition item
Nutrition nutritionInfo = dish.getNutrition();
nutInfo = nutritionInfo.getHashMap();
有人可以告诉我我做错了什么以及如何解决它?
答案 0 :(得分:1)
如果dish.getNutrition()返回null,则第二行将抛出NPE。
Nutrition nutritionInfo = dish.getNutrition();
nutInfo = nutritionInfo.getHashMap();
由于你没有向我们展示Dish类中的代码,我认为它出现在这里。