继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

王某生
关注TA
已关注
手记 1
粉丝 0
获赞 2

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

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")

以上。

打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP