2

オブジェクトをシリアライズおよびデシリアライズして 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 のインスタンスであるため、非セル化が機能していません。

4

1 に答える 1

3

MapDB にはシリアル化が組み込まれていますが、機能していますか?

于 2014-03-27T15:33:51.003 に答える