Nicht Serialisieren/Deserialisieren ArrayList

Ich versuche zum serialisieren und Deserialisieren eines array-Liste mit einem Objekt innen:

HairBirt param = new HairBirt();
param.setName("name");
param.setValue(2.3f);

HairBirt param2 = new HairBirt();
param2.setName("name2");
param2.setValue(2.4f);

ArrayList<HairBirt> list = new ArrayList<HairBirt>();

list.add(param);

list.add(param2);

ByteArrayOutputStream bos = null;
try {
    bos = new ByteArrayOutputStream();
    ObjectOutputStream obj_out = new ObjectOutputStream(bos);
    obj_out.writeObject(list);
} catch (IOException e) {
    e.printStackTrace();
}

String encoded = bos.toString();
try {
    encoded = URLEncoder.encode(encoded, "UTF-8");
} catch (UnsupportedEncodingException e1) {
    e1.printStackTrace();
}
System.out.print("The serialized output is: " + encoded);   

//DECODE

ArrayList<HairBirt> paramDecoded;

String myParam = null;
try {
    myParam = URLDecoder.decode(encoded, "UTF-8");
} catch (UnsupportedEncodingException e1) {
    e1.printStackTrace();
}
System.out.println("Got parameters");
ByteArrayInputStream bis = new ByteArrayInputStream(myParam.getBytes());

try {
    ObjectInputStream obj_in = new ObjectInputStream(bis);

    paramDecoded = (ArrayList<HairBirt>) obj_in.readObject();
} catch (IOException e) {
    e.printStackTrace();
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

Den HairList-Objekt ist auch ein serialisiertes Objekt.

Diese code-Ausführung ist wieder die folgende Fehlermeldung:

java.io.InvalidClassException: java.util.ArrayList; local class incompatible: stream classdesc serialVersionUID = 8664875232659988799, local class serialVersionUID = 8683452581122892189

in Zeile paramDecoded = (ArrayList<HairBirt>) obj_in.readObject();

Ich weiß nicht, was ich falsch mache. Können Sie einen Tipp geben?

Update:

Gelöst:
Nur verwendet ein natives array von HairBirt statt einer ArrayList und es funktioniert:

HairBirt[] list = new HairBirt[x];

statt

ArrayList<HairBirt> list = new ArrayList<HairBirt>();

Danke Euch allen für Eure Hilfe.

InformationsquelleAutor sakana | 2009-03-24

Schreibe einen Kommentar