集合反序列化的时候,比如:
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")
以上。