我有一个实现Serializable的类.类中有一个其他类对象,它不实现可序列化.应该怎么做才能序列化该类的成员.
我的课就是这样的
public class Employee implements Serializable{ private String name; private Address address; } public class Address{ private String street; private String area; private String city; }
在这里,我没有访问Address类来使它实现Serializable.请帮忙.提前致谢
解决方法
当然,有明显的解决方案将Serializable放在上面.我明白这并不总是一种选择.
也许你可以扩展地址并将Serializable放在你做的孩子身上.然后你创建它,以便Employee有一个Child字段而不是Address字段.
以下是一些需要考虑的事项:
>您可以将Employee.address字段保留为Address类型.如果调用Employee.setAddress(new serializableAddress()),可以序列化
>如果Address为null,即使Address的类型不可序列化,也可以序列化整个员工.
>如果将地址标记为瞬态,则会跳过尝试序列化地址.这可以解决您的问题.