0

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

4

1 回答 1

3

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

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

于 2012-10-20T16:39:58.643 回答