gpt4 book ai didi

android - DataSnapshot 值是否有可能为空?

转载 作者:行者123 更新时间:2023-11-29 17:07:16 24 4
gpt4 key购买 nike

我正在接听this question然后我想到了这个新问题。

在那个问题中,我这样描述我的示例代码:

boolean firstCallDone = false;
boolean secondCallDone = false;

DataSnapshot firstDataSnapshot = null;
DataSnapshot secondDataSnapshot = null;

onCreate() {
firstRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
firstCallDone = true;
firstDataSnapshot = dataSnapshot;

if (firsCallDone && secondCallDone)
doSomething();
}
...
}
secondRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
secondCallDone = true;
secondDataSnapshot = dataSnapshot;

if (firsCallDone && secondCallDone)
doSomething();
}
...
}
}

doSomething() {
// do something with firstDataSnapshot and secondDataSnapshot
...
}

以上代码的目的是在调用两个 Firebase 数据库并获取其值后执行 doSometing()

然后我意识到,我可以像这样验证 if (firstDataSnapshot != null && secondDataSnapshot != null) 而不是像这样验证 if (firsCallDone && secondCallDone) >。这是因为据我所知,DataSnapshot 从不 为 null(在其值已填充到 onDataChange() 中)。

但我不确定。在 onDataChange() 中 DataSnapshot 是否有可能为空?如果有,是什么原因导致的?

最佳答案

DataSnapshot 永远不能为空,无论那里是否有数据(因为如果没有数据,您将得到一个空但非空的 DataSnapshot)。

关于android - DataSnapshot 值是否有可能为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41512738/

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