Java输入流读取对象数组中具有指定类型结果的反序列化ArrayList

时间:2018-12-05 11:10:31

标签: java arraylist casting deserialization

http请求从android发送到servlet。 ArrayList被序列化为对象作为响应。

在服务器端,

ArrayList<catAryList> catAryList=new ArrayList<>();
catAryList.add(cat1);
catAryList.add(cat2);
OutputStream outStream=_resp.getOutputStream();
ObjectOutputStream objOutStream=new ObjectOutputStream(outStream);
objOutStream.writeObject(catAryList);

在客户端,

InputStream inputStream =httpResponse.getEntity().getContent();
ObjectInputStream is = new ObjectInputStream(inputStream);
rtnValue = (ArrayList<Cat>) is.readObject();

我已经从调试器检查了rtnValue。它是一个Object [],而不是ArrayList。同样,每个对象的字段也位于Object []中。字段内容和对象数正确。

如何正确地将Object []强制转换为ArrayList,而不是复制每个字段以构建Cat的新实例并将这些Cat添加到新的ArrayList中?

谢谢

0 个答案:

没有答案