Android - ParseQuery - Hashmap:Hashmap保持空白?

时间:2016-01-13 23:59:43

标签: java android parse-platform

我在ParseQuery中实施HashMap时遇到问题。我的代码如下:

HashMap<String, Integer> portfoliodata;
public HashMap getPoints() {

    try {
        ParseQuery<RoyalPoints> pointsQuery = RoyalPoints.getQuery();
        pointsQuery.whereEqualTo("user", ParseUser.getCurrentUser());
        List<RoyalPoints> list = pointsQuery.find();
        portfoliodata = new HashMap<>();
        for (RoyalPoints obj : list) {
            portfoliodata.put(obj.getString("business"), portfoliodata.get(obj.getString("business")) + obj.getInt("points"));
        }

    } catch (ParseException e) {
        Log.d("Points retrieval", "Error: " + e.getMessage());
    }
    return portfoliodata;
}

然而,即使obj.getString("business")obj.getInt("points")给出结果并且没有生成错误,我的结果仍为空。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

看起来应该有错误。 在第一次循环运行时,执行:

portfoliodata.put(
  obj.getString("business"),
  portfoliodata.get(obj.getString("business")) + obj.getInt("points"));

其中portfoliodata.get(obj.getString("business"))会为您提供null(因为地图为空),而将其添加到int会产生NullPointerException