2012-10-20 47 views
0

我需要将java.lang.reflect.Field从一个进程传递到另一个使用RMI的进程,但是Field未实现Serializable接口。我怎么能克服这个问题?序列化字段类

回答

3

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

您将需要申报的有关Field场为transient。如果您想传输Field信息,则可能需要以字段名称/类名称的形式传递它,然后在另一端以自定义readObject方法重建Field