在Java中,如何将对象列表转换为字节数组?

Ste*_*eve 8 java caching

可能重复:
将任何对象转换为java中的字节数组

我有一个需要缓存的类.缓存API提供缓存的接口byte[].我的类包含一个字段List<Author>,Author另一个类在哪里.什么是正确的办法,我把List<Author>byte[]缓存?并检索byte[]从缓存重建List<Author>

关于Author类的更多细节:它非常简单,只有两个String字段.一个String领域是可能的null.

ssk*_*ssk 19

作者类应该实现 Serializable

然后,您可以使用ObjectOutputStream序列化对象并将ByteArrayOutputStream其写为字节.

然后使用ObjectInputStream对其进行反序列化并转换回来.

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(bos);
    oos.writeObject(list);
    byte[] bytes = bos.toByteArray();
Run Code Online (Sandbox Code Playgroud)