java - Android-ParseQuery- HashMap : Hashmap stays empty?

标签 java android parse-platform

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

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") 给出结果并且没有生成错误,我的结果还是空的。知道如何解决这个问题吗?

最佳答案

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

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

其中 portfoliodata.get(obj.getString("business")) 会给你一个 null (因为 map 是空的),并将其添加到 int 应该抛出 NullPointerException

关于java - Android-ParseQuery- HashMap : Hashmap stays empty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34779375/

相关文章:

ios - parse.com key 类型无效,需要映射,但得到数组

java - 为什么 base64 编码 java 代码这样做

java - 在 Tibco EMS 中创建 TopicSubscriber 期间出现异常

java - @Secured({ "ROLE_USER", "ROLE_ADMIN"}) 到底是什么意思

android - 反射(reflect)在其他 ListView 子布局中的 ListView 的一个子布局的更改

ios - 按用户名对 PFObject 数组进行排序

java - 如何区分 2 个 ArrayList

Android TextView 完全居中文本

android - 无法通过 android 中的 volley 以 url 编码的形式发布参数

javascript - 解析 CloudCode 的执行顺序