我在 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/