【问题标题】:Is it possible to have Castor marshal/unmarshal an EnumMap?是否可以让 Castor 编组/解组 EnumMap?
【发布时间】:2009-03-13 19:07:03
【问题描述】:

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

【问题讨论】:

    标签: java castor


    【解决方案1】:

    其中一个大问题是枚举不能真正被序列化和恢复,至少在 Java 1.5 中是这样。而且我认为在 Java 1.6 中也没有。

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

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

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

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      相关资源
      最近更新 更多