java enum上的自定义字段未被序列化
发布时间:2020-05-24 17:53:49 所属栏目:Java 来源:互联网
导读:我有一个 Java Enum,如下所示: public enum ExecutionMode { TYPE_A, TYPE_B, TYPE_C; private ExecutionMode(){} //no args constr- no really required private boolean incremental; //has get/set private
|
我有一个 Java Enum,如下所示: public enum ExecutionMode {
TYPE_A,TYPE_B,TYPE_C;
private ExecutionMode(){} //no args constr- no really required
private boolean incremental; //has get/set
private String someStr; //has get/set
}
我看到在反序列化后,枚举上的自定义字段丢失了. 如果是真的,我在这里滥用Enum&应该只使用POJO? 谢谢! 解决方法如果值是常量,则更好,您不需要序列化任何内容public enum ExecutionMode {
TYPE_A(x,t),TYPE_B(y,z),TYPE_C(b,s)
private boolean incremental; //has get/set
private String someStr; //has get/set
ExecutionMode(boolean incremental,String someStr){
///... set things appropriately
}
}
如果你在运行时设置这些值,我倾向于首先不应该是枚举 – 应该有一个单独的POJO,它可能包含值以及对枚举值的引用. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
