java - 序列化字段类

标签 java serialization rmi

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

最佳答案

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

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

关于java - 序列化字段类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12989843/

相关文章:

java - ADMOB-java.lang.IllegalStateException : isLoaded must be called on the main UI thread

java - Jackson typeId 不包含在生成的 json 中

java - System.gc() 和通过仅实时堆转储执行的死对象回收之间的区别?

java - 获取ArrayList索引

java - 与简单条件混淆

java - 阻止 GSON 序列化 JSON 字符串

java - 如果我的对象是可序列化的,我可以发送对象的 ArrayList<> 吗?

java - RMI 有多快?

Java RMI心跳时间进程循环

java - 使用 Spring 框架在 java 中配置 TCP/IP