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

n61*_*007 4 java android bundle

我正在寻找一种将Bundle转换为HashMap的方法.我很惊讶这样的方法不在文档中.

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

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

Com*_*are 8

Bundle是否相当于Map,你有String键和Object值?

首先,a Map不一定有String钥匙.

其次,虽然a Map可以容纳任意对象,但它不能以类型安全的方式进行.IOW,如果你想要Map保持字符串,整数等等,你需要继续投射get()调用的结果,因为你Map必须这样做Map<String, Object>.

第三,Bundle实现Parcelable,这对Android IPC非常重要.Map是一个接口,不扩展Parcelable.

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

嗯,当然,虽然我没有看到有什么好处.

这样做的方法是什么?

遍历keySet()并呼吁get()Bundle每个键,把结果放入一个Map<String, Object>.