情境:我希望使用ObjectOutputStream从客户端向服务器发送一组对象(不同类型)。
问题:Object数组不可序列化(我得到NotSerializable异常)。
我尝试了什么:我创建了一个扩展Object的虚拟类,并实现了Serializable。但我无法将原始对象数组转换为此类。
有没有办法序列化一个对象数组?
答案 0 :(得分:4)
Object[]
不应该出现任何序列化问题。
Java中的数组是Serializable
,即使数组元素类型不是(可能因为数组理论上可能会保存某些派生的Serializable类的实例)。
最有可能的是,您的阵列中的一个成员不可序列化。堆栈跟踪应该告诉它,检查它。
答案 1 :(得分:0)
我建议您使用 base64 对数组进行编码,然后将其发送到服务器。然后,您可以在那里轻松解码。