我正在用soot做Java程序的编程分析。我定制了一个类,其中包含一个类型为SootMethod的字段。我想保存大量这样的对象,并在另一个程序中使用它们。所以,我发现序列化满足了我的需求。但是,由于SootMethod,它会触发NotSerializableException。
如果我想用这个SootMethod字段保存对象,我应该怎么做?为什么SootMethod是不可序列化的?
发布于 2019-01-02 17:45:07
这可能是因为SootMethod没有实现java.io.Serializable,所以不可能序列化这个类的实例,所以如果你想序列化包含SootMethod类型字段的对象,你有两种方法:
transient!因此,序列化对象是可能的,但是当您反序列化对象时,此字段将为空。SootMethod类实现java.io.Serializable来使该类可序列化。一般来说,如果一个类实现了java.io.Serializable接口,并且所有的字段都实现了这个接口,那么这个类就可以是序列化的,如果一个字段没有实现它,那么这个字段肯定是暂时的。
https://stackoverflow.com/questions/54002060
复制相似问题