Я пытаюсь отправить список объектов через сокет.Получить базовый/родительский/суперкласс из дочернего/унаследованного класса
Объекты в списке содержат несериализуемый объект и поэтому не могут быть отправлены, однако базовый класс полностью сериализуем и содержит все поля, которые мне нужны.
Так что я пытаюсь преобразовать список в список базового класса. Единственный способ, которым я мог думать, так что это выглядит следующим образом:
// 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. От отладки кода я вижу, что новый список по-прежнему является списком подкласса, хотя он и был отличен.
Есть ли способ достичь того, что я пытаюсь сделать?