【发布时间】:2016-02-08 17:48:57
【问题描述】:
我正在尝试读取多个文本文件(每个文件具有不同的布局/架构)。
目前我的 Model 类有 40 多个属性,并且是硬编码的。
我打算使用HashMap,所以每次有新文件出现时,我可以通过添加更多属性来读取文件而无需更改模型类。
但这是正确的做法吗?
请指教。
【问题讨论】:
-
如果这些属性对您的应用程序没有特殊意义,而只是命名值,那么,是的,使用映射。如果您的 40 个 setter 方法中的每一个都必须执行特定甚至独特的操作,那么您可能拥有真正的属性,否则您只有一种映射。
-
@Holger :谢谢,如果我使用 HashMap 会减少堆中的对象大小吗?
-
当所有值都存在时,
HashMap可能比专用对象消耗更多空间。但是,如果很多值是可选的且不存在,则可以节省一些空间。但这不应该推动您的设计决策。