我得到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吗?我是否必须放弃反序列化此类对象?
答案 0 :(得分:3)
这是因为您继承的ImageView
是非Serializable ,而没有公共的no-args构造函数。显然它有受保护或包访问或私有访问。