我正在尝试通过套接字发送对象列表。
列表中的对象包含一个不可序列化的对象,因此无法发送,但是它的基类是完全可序列化的并包含我需要的所有字段。
所以我想做的是将列表转换为基类的列表。我认为这样做的唯一方法如下:
// subClassList is an ArrayList<SubClass>
ArrayList<BaseClass> baseClassList = new ArrayList<BaseClass>();
for(SubClass subClass: subClassList) {
// cast to the base class
baseClassList.add((BaseClass)subClass);
}
然而,这不起作用,因为我仍然得到相同的 NotSerializableException 异常。通过调试代码我可以看到新列表仍然是子类的列表,即使它已经被强制转换。
有没有办法实现我想要做的事情?