为了账号安全,请及时绑定邮箱和手机立即绑定

集合反序列化中的类型转换

标签:
Java Android

集合反序列化的时候,比如:

List<Person> list = (List<Person>) bundle.getSerializable("PERSON");

有的编译器会报警告:

Unchecked cast: ‘java.io.Serializable’ to ‘java.util.List<com.example.Person>’

这类的。
意思是兄弟我帮你把序列化对象转成集合了,但是集合里面是不是你想要的类型我就不知道了,你最好注意点。
有一个解决办法是先转成集合,自己一个个检查里面的类型对不对:

List<Person> personList = new ArrayList<>();
List objectList = (List) bundle.getSerializable("PERSON");
if (objectList != null) {
    for (int i = 0; i < objectList.size(); i++) {
        Person person = (Person) objectList.get(i);
        personList.add(person);
    }
}

或者直接加一个:

@SuppressWarnings("unchecked")

以上。

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
0
获赞与收藏
2

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消