0

誰かが私が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(); 

誰かが私が間違っていることと、それを修正する方法を教えてもらえますか?

4

1 に答える 1

1

2 行目は、dish.getNutrition() が null を返す場合、NPE をスローします。

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

Dish クラスのコードを示していないので、ここで発生すると思います。

于 2012-09-17T18:38:44.860 に答える