【问题标题】:Serialize Field Class序列化字段类
【发布时间】:2012-10-10 23:43:27
【问题描述】:

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

【问题讨论】:

    标签: java serialization rmi


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 2014-10-06
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多