ArrayList
カスタム クラスの をファイルに書き込めません。私は使用しています
public static void SaveEmployees() throws FileNotFoundException, IOException{
ObjectOutputStream save = new ObjectOutputStream(new FileOutputStream("magicscheduleEmp.sav");
save.writeObject(employeeList);
save.close();
}
whereは main メソッドでof (my class)employeeList
として宣言および初期化されます。にオブジェクトを確実に追加しましたが、呼び出すとファイルに空が書き込まれます。クラスはシリアライズ可能です。ArrayList
Employees
employeeList
SaveEmployees
ArrayList
Employee
私は何を間違っていますか?
編集:ここでemployeeListが初期化されます(メインメソッド内)
public static ArrayList<Employee> employeeList = new ArrayList<>();
ユーザー入力によって入力されます (別の jFrame クラスで)
if(MainUI.addempcheck == true){
Employee newEmployee = new Employee(LastName.getText(), FirstName.getText());
newEmployee.position = EmpType.getSelectedItem().toString();
MainUI.employeeList.add(newEmployee);
MainUI.listModel.addElement(newEmployee.writeName().toString());
}
try {
MainUI.SaveEmployees();
} catch (FileNotFoundException ex) {
Logger.getLogger(NewEmployeeUI.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(NewEmployeeUI.class.getName()).log(Level.SEVERE, null, ex);
}
this.dispose();
employeeList の内容を印刷するボタンがあり、リストを保存する前にデータが入力されていることを示します。SaveEmployees の呼び出しに問題があるのでしょうか。