をシリアル化できません。は、私は内部のオブジェクトの配列リストをシリアライズとデシリアライズしようとしている/デシリアライズのArrayList
このコードの実行には、次のエラーを返して:行の
java.io.InvalidClassException: java.util.ArrayList; local class incompatible: stream classdesc serialVersionUID = 8664875232659988799, local class serialVersionUID = 8683452581122892189
paramDecoded = (ArrayList<HairBirt>) obj_in.readObject();
私は私が間違ってやっているのか分かりません。あなたはチップを与えることができますか?
更新:
は解決済み: は、だけではなく、ArrayListののHairBirtのネイティブ配列を使用し、それが動作します:
HairBirt[] list = new HairBirt[x];
代わりの
ArrayList<HairBirt> list = new ArrayList<HairBirt>();
ありがとうございましたあなたの助け。
うん、それは問題ですが、私は本当にその動きにStringを使う必要があります。これは本当の問題ではなく、単純化しています。 – sakana
「その動きで」とはどういう意味ですか?デシリアライズできるようにするには、BAOSを無損失の方法で文字列に変換する必要があります。それがbase64であるかどうかは別の問題ですが、それを行う良い方法だと思います。 –
@sakana:base64は、文字セットが制限された文字列形式です。 – Powerlord