使用hashmap的NULL指针

时间:2012-09-17 18:36:54

标签: java android

有人可以告诉我为什么我会使用此代码获得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(); 

有人可以告诉我我做错了什么以及如何解决它?

1 个答案:

答案 0 :(得分:1)

如果dish.getNutrition()返回null,则第二行将抛出NPE。

Nutrition nutritionInfo  = dish.getNutrition();
nutInfo = nutritionInfo.getHashMap(); 

由于你没有向我们展示Dish类中的代码,我认为它出现在这里。