gpt4 book ai didi

java - Firebase:无法将 java.lang.Boolean 类型的值转换为字符串

转载 作者:行者123 更新时间:2023-11-30 00:19:59 30 4
gpt4 key购买 nike

您好,我正在尝试检查我的数据库中的 boolean 值是否为 false,但是我收到了无法将 java.lang.Boolean 类型的值转换为字符串的错误。

Structure of DB

   Query q = databaseReference.child("Chatmessages").child(currentChatUser).child(userId);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String true3 = "true";
for(DataSnapshot ds : dataSnapshot.getChildren()) {


if(ds.child("read").getValue(String.class).equals(false)){
ds.child("read").getRef().setValue(true);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
q.addListenerForSingleValueEvent(eventListener);

最佳答案

你的比较是错误的:

ds.child("read").getValue(String.class).equals(false)

您读取的 String 值永远不会与 Booleanfalse 为真。

要么做一个字符串到字符串的比较:

ds.child("read").getValue(String.class).equals("false")

或者先把字符串转成 boolean 值再比较:

Boolean.valueOf(ds.child("read").getValue(String.class)).equals(false)

关于java - Firebase:无法将 java.lang.Boolean 类型的值转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46503384/

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