我正在使用Google的Firebase。我将Java枚举放置为我的一个模型类中的成员之一。将实例保存到Firebase数据库后,它将引发异常。最好的解决方法是什么?
经过进一步研究。这是Firebase 3.0.0的解决方法。显然,以前的版本Firebase对杰克逊提供了更加灵活的支持,该支持已被淘汰。这是一个带有枚举的Job类(带有hacky代码)
public class Job {
public enum JobLifecycle {
New, inTransit, inStorage, delivered, signedOff;
}
...// other fields omitted
JobLifecycle lifecycle;
public Job(){
}
@Exclude
public JobLifecycle getLifecycleAsEnum(){
return lifecycle;
}
// these methods are just a Firebase 9.0.0 hack to handle the enum
public String getLifecycle(){
if (lifecycle == null){
return null;
} else {
return lifecycle.name();
}
}
public void setLifecycle(String lifecycleString){
if (lifecycleString == null){
lifecycle = null;
} else {
this.lifecycle = JobLifecycle.valueOf(lifecycleString);
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句