我想在 GWT 中序列化一个对象,它继承了这段代码中的其他类型的对象。我的结果应该是System.out.print
:
import java.io.ByteArrayOutputStream;
import java.io.ObjectOutputStream;
import com.google.gwt.user.client.rpc.IsSerializable;
import spa.shared.storages.RouteStorage;
public class RouteStorageHelper implements IsSerializable {
public RouteStorageHelper() {
}
public void storeRoutes(RouteStorage routeStorage) {
ByteArrayOutputStream baos;
ObjectOutputStream out;
baos = new ByteArrayOutputStream();
try {
out = new ObjectOutputStream(baos);
out.writeObject(routeStorage);
//byte[] byteArray=baos.toByteArray();
out.close();
byte[] serializedGraph=baos.toByteArray();
System.out.println(serializedGraph);
} catch (Exception sqle) {
System.out.print(sqle);
}
}
但我得到的只是一个NotSerializableException
,它告诉我们,有些东西没有被序列化。我无法理解,因为其他子类对象也得到了IsSerializable
接口。
具有此接口的其他类:RouteStorage, Storage, Patient, Employee
等...我也使用的东西:String, Integer, HashMap, ArrayList, Date (java.util)
和两个enums Status and Qualifikation
.
这些类中是否有任何不可序列化?GWT 有什么不同吗?