首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么SootMethod是不可序列化的?

为什么SootMethod是不可序列化的?
EN

Stack Overflow用户
提问于 2019-01-02 14:19:57
回答 1查看 70关注 0票数 0

我正在用soot做Java​程序的编程分析。我定制了一个类,其中包含一个类型为SootMethod的字段。我想保存大量这样的对象,并在另一个程序中使用它们。所以,我发现序列化满足了我的需求。但是,由于SootMethod,它会触发NotSerializableException。

如果我想用这个SootMethod字段保存对象,我应该怎么做?为什么SootMethod是不可序列化的?

EN

回答 1

Stack Overflow用户

发布于 2019-01-02 17:45:07

这可能是因为SootMethod没有实现java.io.Serializable,所以不可能序列化这个类的实例,所以如果你想序列化包含SootMethod类型字段的对象,你有两种方法:

  1. 将此字段设为transient!因此,序列化对象是可能的,但是当您反序列化对象时,此字段将为空。
  2. 通过为SootMethod类实现java.io.Serializable来使该类可序列化。

一般来说,如果一个类实现了java.io.Serializable接口,并且所有的字段都实现了这个接口,那么这个类就可以是序列化的,如果一个字段没有实现它,那么这个字段肯定是暂时的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54002060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档