有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

序列化如何在Java中序列化和反序列化对象列表?

我有一个List<Animal>我想作为SOAP响应发送给客户端,但是send方法需要byte[]并在客户端进行反序列化

谁能告诉我如何将我的List<Animal>转换为byte[],并将byte[]转换回List<Animal>

我知道在这个网站上有很多这样的问题,但我对答案感到困惑。我试了很多,但都不管用


共 (2) 个答案

  1. # 1 楼答案

    public static byte[] objectToByteArray(Object obj) throws Exception {
        byte[] bytes = null;
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        oos.writeObject(obj);
        bytes = baos.toByteArray();
        oos.close();
        return bytes;
    }
    
    public static Object byteArrayToObject(byte[] buffer) throws Exception {
        Object ob = null;
        ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(
                buffer));
        ob = ois.readObject();
        ois.close();
        return ob;
    }