我有一个将POJO从服务器发送到客户机的程序。对于像String[]
或Boolean
这样的原始数据类型,它工作得很好。当我用getter和setter创建自定义数据类型时,将其从服务器发送到客户端,并尝试将其从Java对象转换为我的数据类型,我得到异常:
java.lang.ClassCastException: java.lang.Object cannot be cast to com.ais.sqar.datatypes.Udata
在客户端和服务器的两个实例上,我都可以很好地强制转换。似乎当我把它推过ObjectOutputStream
时,奇怪的事情发生了。我也序列化了对象。ObjectOutputStreams有什么问题吗?
参考本教程http://java.sun.com/developer/technicalArticles/Programming/serialization/来检查您在进行序列化时是否犯了任何错误。