如何在解析(Java)中按指针值查询类?

如何在解析(Java)中按指针值查询类?,java,android,parse-platform,parse-server,parse4j,Java,Android,Parse Platform,Parse Server,Parse4j,我在这里得到一个空指针,显然是因为我的查询格式不好。我的印象是,只要提供一个与指针列匹配的对象,就可以在类中查询指针列。为什么当前用户不够用 ParseUser currentUser = ParseUser.getCurrentUser(); ParseQuery<ParseObject> requestsQuery = ParseQuery.getQuery("Request"); requestsQuery.whereEqualTo("auth

我在这里得到一个空指针,显然是因为我的查询格式不好。我的印象是,只要提供一个与指针列匹配的对象,就可以在类中查询指针列。为什么当前用户不够用

    ParseUser currentUser = ParseUser.getCurrentUser();

    ParseQuery<ParseObject> requestsQuery = ParseQuery.getQuery("Request");
        requestsQuery.whereEqualTo("author", currentUser);
        requestsQuery.findInBackground(new FindCallback<ParseObject>() {
            @Override
            public void done(List<ParseObject> requestList, ParseException e) {
                if (e == null) {
                    log.info(requestList.toString());

                }

            }
     });

它应该能工作。我用类似的方案检查了你的代码。这将有两个问题。1-requestList可能为null,因此请检查requestList大小或null。2-ParseUser.getCurrentUser()可能有问题。可能为空或获取当前用户数据时出错。有时,重新安装或重新登录会有所帮助。对我有效的方法是将查询约束更改为
query.whereContains
,并使用当前用户的objectId:
requestsQuery.whereContains(“author”,currentUser.getObjectId())。。。
[WARNING] 
java.lang.NullPointerException
    at com.nnit.automation.controller.IndexController$1.done(IndexController.java:58)
    at org.parse4j.ParseQuery$FindInBackgroundThread.run(ParseQuery.java:623)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)