gpt4 book ai didi

java - 从 ParseQuery 方法返回的字符串为 null

转载 作者:行者123 更新时间:2023-12-02 12:22:42 25 4
gpt4 key购买 nike

我想向此语句返回一个字符串:StringreplyUsername = queryUsernameById(objectId);

查询方法如下:

public String queryUsernameById(String objectid) {

final String[] username = {null};
ParseQuery<ParseUser> userQuery = ParseUser.getQuery();
userQuery.whereContains(ParseConstants.KEY_OBJECT_ID, objectid);
userQuery.getFirstInBackground((user, e) -> {

// We found messages!
if (e == null) {

username[0] = user.getUsername();

} else {
e.printStackTrace();
}
});
return username[0];
}

当我显示字符串时,它返回为空。我该如何解决这个问题?

最佳答案

您还没有显示代码的其余部分,即您实际使用该值的位置,因此很难确定,但我的猜测是异步性在这里让您感到困惑。查询在后台运行,因此如果您使用的该值距离函数调用太近,则查询实际上尚未返回。您应该在完成处理程序中将值分配给标签,或者使用等待更新的键值监听器来更新标签。

另外,还有一个专门用于通过Id获取对象的查询方法,而不是添加objectId作为查询约束。 query.get(objectId) 或类似的东西,尽管我对 Java SDK 不太熟悉。它的优点是为不存在的对象返回 101 错误,而不是带有成功回调的空数组/对象。

关于java - 从 ParseQuery 方法返回的字符串为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45660444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com