Hi all,
I need to serialize the HashMap instance, so i wrote the following code for
test:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import org.apache.pivot.collections.HashMap;
public class HelloHashMap {
public static void main(String[] args) throws IOException {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("key", "value");
FileOutputStream fos = new FileOutputStream("hashmap.image");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(hashMap);
oos.flush();
}
}
running the code above thrown the following exception:
Exception in thread "main" java.io.NotSerializableException:
org.apache.pivot.collections.Dictionary$Pair
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeArray(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at helloHashMap.HelloHashMap.main(HelloHashMap.java:19)
As shown in the exception
info, org.apache.pivot.collections.Dictionary$Pair, which is the element of
HashMap, i guess, is not serializable, so how to serialize an non-empty
HashMap instance?
Any suggestions? Thanks a lot!