Firebase documentation for android读到:
该类必须为属性定义公共getter 分配。没有公共getter的属性将被设置为他们的 反序列化实例时的默认值
为什么 getters 需要在反序列化中分配属性?
答案 0 :(得分:1)
firebaser here
Firebase Android SDK中的JSON序列化程序/反序列化程序根据其公共字段及其具有getter和setter的JavaBean样式伪属性构建类的候选属性列表。
我们已经讨论过后者是否应该仅基于用于序列化为JSON的getter和用于从JSON反序列化的setter。但在这一刻,这将是对我们不愿意做的行为的一次重大改变。
如果您希望对序列化/反序列化提供更广泛的支持,您可以随时使用Jackson这样做。请在此处查看我的回答:How to deserialise a subclass in Firebase using getValue(Subclass.class)