我正在尝试阅读SocialNetwork Simulation的对象。读取方法使用Java Serializable。代码如下所示:有没有办法让当前类指向刚刚在Java Serializable中读取的新对象?
public class SocialNetwork implements Serializable{
// lots of fields
public SocialNetwork(){
//lots of inilization
}
public void writethisObject() throws IOException{
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("Simulation.bin"));
objectOutputStream.writeObject(this);
}
public void readfromObject(File f) throws IOException, ClassNotFoundException{
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(f));
SocialNetwork newSocialNetwork = (SocialNetwork) objectInputStream.readObject();
this = newSocialNetwork;
}
}
但是,你可以看到我试图使目前的阶级观点的对象,我只是通过使该= newSocialNetwork阅读。这给了我一个预期的错误。我可以通过将当前SocialNetwork类的每个字段设置为newSocialNetwork来解决此问题。不过,我不想那么做,因为我班有很多场地。它看起来很乱。我希望你已经知道我在做什么。
感谢您向我介绍这一点。我正在用一种非常不同的方法来解答你的答案。我在自己的回答中发布了这种方法。 –