A melhor maneira de fazer isso é usar o SerializationUtils
Apache Commons Lang .
Para serializar:
byte[] data = SerializationUtils.serialize(yourObject);
Para desserializar:
YourObject yourObject = SerializationUtils.deserialize(data)
Como mencionado, isso requer a biblioteca Commons Lang. Pode ser importado usando o Gradle:
compile 'org.apache.commons:commons-lang3:3.5'
Maven:
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
Arquivo Jar
E mais maneiras mencionadas aqui
Como alternativa, toda a coleção pode ser importada. Consulte este link
byte[]
? Por que não escrever diretamente no soqueteObjectOutputStream
e ler com eleObjectInputStream
?