gpt4 book ai didi

java - 是否可以让 Castor 编码(marshal)/取消编码(marshal) EnumMap?

转载 作者:行者123 更新时间:2023-11-30 09:58:42 28 4
gpt4 key购买 nike

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

最佳答案

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

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

While you can always use your own custom FieldHandler for handling type-safe enumeration classes, Castor does have a built-in approach to dealing with these types of classes. If the type-safe enum class has a public static valueOf(String) method Castor will call that method so that the proper instance of the enumeration is returned. Note: You'll also need to disable the default constructor check in the mapping file (see section 7.4 above to see more on this).

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

希望对您有所帮助。

关于java - 是否可以让 Castor 编码(marshal)/取消编码(marshal) EnumMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644160/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com