Android Kotlin中Bundle内字符串转数字异常

调用Bundle内的getInt、getDouble等方法时,实际为调用内部Map的get方法,若值为null,返回默认值,否则将值强转为对应类型,失败则返回默认值。

在kotlin时,Map中获得的值如果不是数字类型,则强转一定失败,永远都返回默认值。解决如下:bundle.get("name")?.toString()?.toInt() ?:0

同理,其他情况也可能出现强转失败的问题。

posted @ 2020-10-09 18:12  FirstLetterZ  阅读(390)  评论(0)    收藏  举报