android的Bundle在功能上是不是与Map相同?

时间:2013-11-29 14:39:39

标签: java android bundle

我正在寻找一种将Bundle转换为HashMap的方法。我很惊讶这种方法不在docs

Bundle是否等同于Map,你有String keys 和Object values ?它理论上可以转换为映射吗?这样做的方法是什么?

编辑 Bundle中键和值之间的关系是否明确?

1 个答案:

答案 0 :(得分:8)

  

Bundle不是Map的等价物,你有String键和Object值吗?

首先,Map不一定有String个密钥。

其次,虽然Map可以容纳任意对象,但它不能以类型安全的方式执行。 IOW,如果您希望Map包含字符串,整数等,则需要继续投射get()次调用的结果,因为Map必须是Map<String, Object> 1}}。

第三,Bundle实现Parcelable,这对Android IPC非常重要。 Map是一个界面,不会扩展Parcelable

  

它理论上可以转换为映射吗?

嗯,当然,虽然我没看到它会带来什么好处。

  

这样做的方法是什么?

keySet()进行迭代,并在get()上为每个密钥调用Bundle,将结果放入Map<String, Object>