我得到 android.widget.ImageView;尝试反序列化我之前序列化的对象时出现 IllegalAccessException
File presetFile = new File("pathToFile");
FileInputStream fis = new FileInputStream(presetFile);
ObjectInputStream ois = new ObjectInputStream(fis);
Preset preset = (Preset) ois.readObject();
我猜测ImageView有一些限制,解释如下:
public class Preset implements Serializable {
private Date dateOfCreation;
private int bpm;
private SoundSwitch[][] switches;
最后是 SoundSwitch 类头
public class SoundSwitch extends ImageView implements Serializable{
}
是不是因为我继承的ImageView没有实现Serializable?我是否必须放弃反序列化此类对象?
最佳答案
这是因为您继承的 ImageView
是不可序列化的并且没有公共(public)的无参数构造函数。显然它有一个 protected 或包访问或私有(private)的。
关于android - IllegalAccessException - 从不可序列化继承的对象的序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11908353/