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