在 Java 标准库中,是否有类似于HashMap
原始和通用类型的 getter/setter 方法但具有便利性的东西,例如getString()
?类似于Bundle
Android 中的东西。
问问题
129 次
3 回答
2
没有。你可以自己写。但是,我不确定这里的真正价值是什么?
于 2013-08-18T01:08:17.587 回答
2
正如@Pangea 所说,Java SE 类库中没有这样的类,而 AFAIK 在任何主流扩展库中都没有。
Preferences
API 看起来很相似,但是 API 带有偏好层次结构和偏好持久性机制的“额外包袱” 。如果您实际上不想实现偏好机制,那么这可能是错误的方法。
您最好的选择是创建HashMap<K, V>
or的自定义子类型,HashMap<String, V>
然后添加便利方法。但是,令我震惊的是,您在这里所做的可能是糟糕的设计……在 Java 中。您可能会遇到动态类型的脆弱性(例如,尝试访问不存在的“属性”)而没有好处。
于 2013-08-18T02:30:13.710 回答
1
泛型与自动装箱相结合可能可以完成这项工作:
如果您将地图声明为 egMap<Integer,Integer>
那么它的 put 需要 Integer 参数,并且会根据需要将 int 参数装箱到 Integer 。类似地,它的 get 接受一个 Integer 参数,它可以是一个装箱的 int。实际上,它返回一个可以自动拆箱为 int 的 Integer。
于 2013-08-18T01:15:25.987 回答