序列化字段类

时间:2012-10-20 15:22:19

标签: java serialization rmi

我需要使用RMI将java.lang.reflect.Field从一个进程传递到另一个进程,但是Field没有实现Serializable接口。我该如何克服这个问题呢?

1 个答案:

答案 0 :(得分:3)

通过RMI传递Field是没有意义的。 Field实例实际上是java.lang.Class实例的依赖对象,Class对象也不可传输。 (并且Class不可传播的原因是它会呈现各种令人讨厌的类型检查问题......考虑到Class实例实际上表示引用类型。)

您需要将相关的Field字段声明为transient。如果要传输Field信息,您可能需要以字段名称/类名称的形式传递它,然后在自定义{重新构建另一端的Field { {1}}方法。