如何构建一个通用映射,可以将各种数据类型保存为仅在运行时期间知道其类型的值?

时间:2012-12-12 16:12:04

标签: java generics

一些背景:我正在为一个对象修改一个类,该对象需要保存在运行时由用户添加到其中的属性。我构建了一个属性定义列表,其中每个元素都包含属性的名称(唯一)及其类型(存储在字符串中)。

例如:“Name”,“String”或“Year”,“int”

我现在面临的挑战是将此列表转换为一个映射,其中属性的名称是键,值变量类型取决于用户描述的内容。此映射将保存列表中描述的属性的实际内容(用户将在稍后阶段输入内容)。

使用泛型来处理构建此地图的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我只会使用java.util.Properties - 这正是它的设计目标。

它有其他方便的方法,比如从文件加载,转储到XML,以及其他你可能觉得非常有用的东西。

虽然从技术上讲它延伸Hashtable<Object,Object>主要是为了向后兼容。它上面的方法表明预期的使用量为String输入。