Как в Java преобразовать массив байтов в объект / byte[] → Object
Начиная с Java 7 разумнее всего использовать try-with-resources. В этом случае решение может выглядеть так:
public static Object deserialize(byte[] rawData) {
if (rawData == null) {
return null;
}
Object o = null;
try (ByteArrayInputStream bis = new ByteArrayInputStream(rawData);
ObjectInput in = new ObjectInputStream(bis)) {
o = in.readObject();
} catch (IOException | ClassNotFoundException ex) {
ex.printStackTrace();
}
return o;
}
Второй способ заключается в том, чтобы воспользоваться сторонними библиотеками:
например, библиотекой Commons Lang от Apache. Тогда код получается намного короче.
Object obj = SerializationUtils.deserialize(objectBytes);
Точно такой же код получится при использовании спринговой библиотеки SerializationUtils:
Object obj = SerializationUtils.deserialize(objectBytes);