2

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

4

1 回答 1

2

最大的问题之一是 Enums 不能真正被序列化和恢复,至少在 Java 1.5 中不能。而且我认为在 Java 1.6 中也没有。

由于枚举不能 - 默认情况下 - 被序列化或 XMLEncoded 我非常怀疑 EnumMap 可以被序列化。从脚轮网页

虽然您始终可以使用自己的自定义 FieldHandler 来处理类型安全的枚举类,但 Castor 确实具有处理这些类型的类的内置方法。如果类型安全枚举类具有公共静态 valueOf(String) 方法,Castor 将调用该方法,以便返回正确的枚举实例。注意:您还需要禁用映射文件中的默认构造函数检查(请参阅上面的第 7.4 节以了解更多信息)。

如果这不起作用,您必须编写自己的字段处理程序

我希望这个能有一点帮助。

于 2009-05-22T12:28:01.493 回答