像HashMap之类的东西,但有像putInt()这样的便利方法

时间:2013-08-18 01:05:07

标签: java

在Java标准库中,是否存在类似于HashMap的内容,但是对于原始类型和常见类型具有便利的getter / setter方法,例如: getString()?类似于Android中的Bundle

3 个答案:

答案 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接受一个I​​nteger参数,可以是一个盒装int。它实际上返回一个可以自动取消装箱到int的整数。