是否有可能让Castor编组/解组EnumMap?

时间:2009-03-13 19:07:04

标签: java castor

我正在使用Castor来编组/解组我的Java对象,其中一个包含EnumMap。 Castor可以编组/解组EnumMaps吗?我有一个带有一些嵌套HashMaps的映射文件,但我从来没有通过Castor推送EnumMap。如果可能,如何通过映射文件完成?

1 个答案:

答案 0 :(得分:2)

其中一个大问题是Enums无法真正被序列化和恢复,至少在Java 1.5中是这样。我认为也不是在Java 1.6中。

由于枚举不能 - 默认情况下 - 被序列化或XMLEncoded我非常怀疑EnumMap是否可以被序列化。来自castor web page

  

虽然你可以随时使用自己的   自定义FieldHandler进行处理   类型安全的枚举类,Castor   确实有一个内置的方法   处理这些类型的类。   如果类型安全的枚举类有一个   public static valueOf(String)   方法Castor将调用该方法   正确的实例   返回枚举。注意:你会的   还需要禁用默认值   构造函数检查映射文件   (见上文第7.4节,了解更多信息   这一点)。

如果这不起作用,您必须自己编写field handler

我希望这会有所帮助。