我正在尝试序列化和反序列化一个对象以将其存储在 mapDb 中。
我设法使用这个片段序列化对象:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream os = new ObjectOutputStream(bos);
os.writeObject(u);
result = bos.toString();
之后,我将“结果”存储在 mapDb 中。一切似乎都像一个魅力。
不幸的是,我在尝试反序列化时遇到了一些问题。
这里的片段:
byte[] b = null;
b = str.getBytes();
InputStream ac = new ByteArrayInputStream(b);
Object a= ac.read();
str是来自 mapDB 的序列化对象,被视为字符串。之后,我将其“投射”为 byteArray。我使用这种方法是因为我在从 mapDb 作为对象获取数据时遇到了一些问题。
所以,我问你,我该如何解决这个问题。因为对象“ a ”是 java.lang.Integer 的一个实例,而不是所需的类,所以反序列化不起作用。