无法在 ObjectOutputStream 之后转换 POJO
我有一个程序将 POJO 从服务器发送到客户端。对于像 String[]
或 Boolean
这样的原始数据类型,它工作得很好。当我创建仅包含 getter 和 setter 的自定义数据类型,将其从服务器发送到客户端并尝试将其从 Java 对象转换为我的数据类型时,出现异常:
java.lang.ClassCastException: java.lang.Object cannot be cast to com.ais.sqar.datatypes.Udata
在客户端和服务器的两个实例上,我都可以很好地进行转换。似乎当我将它推过 ObjectOutputStream
时,会发生一些奇怪的事情。我也序列化了对象。 ObjectOutputStreams 有什么问题吗?
I have a program that sends POJO from a server to a client. For primitive data types like String[]
or Boolean
it works fine. When I create a custom data type with just getters and setters, send it from server to client and try to cast it from a Java Object to my data type I get exception:
java.lang.ClassCastException: java.lang.Object cannot be cast to com.ais.sqar.datatypes.Udata
Where on both instances of the client and server I can cast just fine. It seems when I push it across an ObjectOutputStream
something strange happens. I have also serialized object as well. Any gotchas here with ObjectOutputStreams?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅本教程 http://java.sun.com/developer/technicalArticles/Programming/serialization / 检查序列化时是否犯了任何错误。
Refer this tutorial http://java.sun.com/developer/technicalArticles/Programming/serialization/ to check if you are making any mistake while doing serialization.