【发布时间】:2014-05-30 09:36:09
【问题描述】:
标题可能有点令人困惑甚至误导,但我试图将一个作为属性包含对象列表 (ArrayList) 的对象保存到磁盘。
问题是这个对象没有列表就不能做任何事情。
我已尝试对对象和列表进行序列化。当我尝试单独序列化对象时,其中没有任何内容,列表为空。当我尝试序列化列表时,我可以访问列表,更改它,但会引发许多异常。
public class AdressBook implements Serializable {
/**
*
*/
private static final long serialVersionUID = 6399534374362987383L;
static Reader reader = new KeyboardReader();
static ArrayList<Contact> AdressBook = new ArrayList<Contact>();
public AdressBook(){
}
public static void AddContact(){
AdressBook.add(new Contact());
}
public static void EditContact(){
System.out.println("Which contact you desire to edit?");
Libreta.Display();
System.out.println("Type in the number of the contact.");
int i = (reader.readint() - 1);
System.out.println("Choose the change 1.Name 2.Last Name 3.Nickname 4.Phone number 5.Emails");
int j = reader.readint();
switch(j){
case 1: AdressBook.get(i).setName();
break;
case 2: AdressBook.get(i).setLastName();
break;
case 3: AdressBook.get(i).setNick();
break;
case 4: AdressBook.get(i).AddPhoneNumber();
break;
case 5: AdressBook.get(i).AddEmail();
break;
default : System.out.println("Not a valid option");
}
我必须能够编辑对象列表并能够以某种方式再次保存它。我一直在尝试很多方法,但我缺乏知识,或者它对我不起作用。
【问题讨论】:
-
静态变量未序列化。
标签: java serialization arraylist save deserialization