bundle.get("pdus") as Array<*>已被弃用,请问替代方案是什么?
获取Bundle中pdus的替代写法
以下是几种不同于bundle.get("pdus")的替代实现方式:
使用下标运算符直接访问
bundle?.let { bnd -> val pdus = bnd["pdus"] as Array<*> }Kotlin中Bundle支持通过
[]下标运算符获取值,写法比get()更简洁,功能完全一致。使用类型安全的Parcelable数组获取方法
bundle?.let { bnd -> val pdus = bnd.getParcelableArray("pdus") }针对短信PDU这类Parcelable类型的数据,
getParcelableArray无需显式强转,直接返回Array<Parcelable?>?,类型安全性更高。针对字符串集合类型的pdus(少见场景)
bundle?.let { bnd -> val pdus = bnd.getStringArrayList("pdus") }如果pdus是以字符串列表形式存储在Bundle中,可直接用这个方法获取对应类型集合,避免强转操作。
内容的提问来源于stack exchange,提问作者Milestone
相关产品推荐
相关产品推荐

