有人可以告诉我为什么我得到此代码的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();
有人可以告诉我我在做什么错以及如何解决吗?
最佳答案
如果dish.getNutrition()返回null,则第二行将引发NPE。
Nutrition nutritionInfo = dish.getNutrition();
nutInfo = nutritionInfo.getHashMap();
由于您尚未向我们展示Dish类中的代码,因此我认为它发生在这里。