У меня действительно раздражающая проблема, пожалуйста, посмотрите на код:
ObjectMapper mapper = new ObjectMapper();
List<Message> messageList = new ArrayList<Message>();
messageList.add(new RoomTextMessage(1,"2","22",1));
messageList.add(new PresenceMessage(1,1,2, UserStatus.OFFLINE));
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_CONCRETE_AND_ARRAYS);
String s = mapper.writeValueAsString(messageList);
mapper.convertValue(s,???)
RoomTextMessage и PresenceMessage расширяют сообщение.
Итак, когда я распечатываю s после writeValueAsString, получаю вот что:
[["com.delver.chateau.message.RoomTextMessage",{"text":"22","roomId":"2","userId":1,"sequence":1}],["com.delver.chateau.message.PresenceMessage",{"friendId":2,"status":"OFFLINE","userId":1,"sequence":1}]]
Я не знаю, как преобразовать его обратно в arrayList, у меня есть почти все API, которые есть у ObjectMapper.
Небольшая помощь будет очень признательна.