gpt4 book ai didi

Android Google Firebase 数据库对象值

转载 作者:行者123 更新时间:2023-11-29 19:26:39 25 4
gpt4 key购买 nike

我见过很多关于 Firebase 的古怪事情;这是一个,不确定我是否遗漏了文档中的某些内容或其他人遇到了这个问题。

我正在尝试将一个数字保存为 Double,并根据该值是否只有小数点后的零以外的值将其存储为 Double;否则,Firebase 似乎会将类型转换为 Long。尝试在 Web 界面中键入类似值时请注意此行为。

是否有一些技巧可以保持这种方式,或者可以解决我的用例?

我正在将值读入字符串格式,其效果为 String.format('%1$f', <Value>) .

当来到这个语句时,根据 Firebase 是否保存为 Double 或 Long 来确定我是否收到异常。

对此有任何简单的修复吗?我讨厌不得不针对 Google 在保存值(value)时不应该假设的事情提出复杂的解决方案。

最佳答案

您可以修改模型类的 setter 来检查从 firebase 返回的对象是 Double 还是 Long 然后将对象转换为 Double 如果它是

public class CustomClass {
private Double value;

public CustomClass() {}

public Double getValue() {
return value;
}

public void setValue(Object value) {
if (value instanceof Double) {
this.value = (Double) value;
} else if (value instanceof Long) {
this.value = Double.valueOf((Long)value);
}
}
}

关于Android Google Firebase 数据库对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41214264/

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