在Java标准库中,是否存在类似于HashMap
的内容,但是对于原始类型和常见类型具有便利的getter / setter方法,例如: getString()
?类似于Android中的Bundle
。
答案 0 :(得分:2)
没有。你可以自己写。但是,我不确定这里的真正价值是什么?
答案 1 :(得分:2)
正如@Pangea所说,Java SE类库中没有这样的类,AFAIK在任何主流扩展库中都没有。
Preferences
API看似相似,但API带有偏好层次结构和偏好持久性机制的“额外包袱”。如果您实际上并不想实现偏好机制,那么这可能是错误的方法。
您最好的选择是创建HashMap<K, V>
或HashMap<String, V>
的自定义子类型,然后添加便捷方法。然而,令我感到震惊的是,你在这里做的事情可能是糟糕的设计......在Java中。您可能会有动态类型的脆弱性(例如,尝试访问不存在的“属性”)而没有任何好处。
答案 2 :(得分:1)
泛型与自动装箱相结合可能会起到作用:
如果您将地图声明为例如Map<Integer,Integer>
然后它的put期望Integer参数,并根据需要将int参数设置为Integer。类似地,它的get接受一个Integer参数,可以是一个盒装int。它实际上返回一个可以自动取消装箱到int的整数。