【发布时间】:2011-03-13 00:21:06
【问题描述】:
在过去的几天里,我一直在使用Castor,试图以一种可读的方式在我的 Java 程序和 XML 之间进行一些序列化。虽然它有一些缺点,但 Castor 通过反射自动生成 xml 实际上非常实用。不幸的是,示例中似乎很好地遗漏了一件事情是处理泛型。看起来反射 API 确实做得很好,但由于方法以 get___() 开头,它无意中抓取了大量冗余数据,我想编写自己的映射文件来避免这种情况。
首先,在“field”元素的属性中,应该定义“type”似乎是完全公平的。但是,它没有指定如果这种类型是抽象的或只是一个接口应该做什么。那我应该输入什么类型呢?
其次,Castor 中指定的大多数“集合”类型对象(List、Vector、Collection、Set 等)只需要 1 个泛型类型,因此将“type”指定为内部和“collection="true"”就足够了。但是,它没有指定在 Map 这样的集合的情况下我应该做什么,其中需要 2 种类型。如何同时指定键类型和值类型?
任何帮助将不胜感激!
【问题讨论】: