你可以在Java对象中使用覆盖的setter方法(例如,一个接受String对象的方法和一个接受int的方法)?如果要从Firebase数据库加载和读取对象? Firebase知道使用哪个或者它们都被视为int / String吗?
e.g:
public void setAppointStartTime(String appointStartTime) {
this.appointStartTime = appointStartTime;
}
public void setAppointStartTime(int minutes) {
this.appointStartTime = String.format("%02d",((minutes - (minutes % 60)) / 60)) + ":" + (String.format("%02d",(minutes%60)));
}
答案 0 :(得分:0)
来自the docs:
对于基本写入操作,您可以使用
setValue()
将数据保存到 指定引用,替换该路径上的任何现有数据。您可以 使用此方法:
- 传递与可用JSON类型对应的类型,如下所示:
- 字符串
- 长
- 双
- 布尔
- 地图
- 列表
- 通过 自定义Java对象,如果定义它的类具有默认值 不带参数的构造函数,并且具有公共getter 要分配的属性。
答案 1 :(得分:0)
Firebase SDK遵循JavaBean模式来确定类中的属性。 JavaBeans属性是单一类型,因为它们的getter方法将具有单个返回类型。
据我记忆,您的示例setter会导致客户端生成错误,因为它不知道appointStartTime
属性的类型。