12行导包去掉。
第一行已经导了这个包了,而且就算是导包,也只能放在最上面,不能放在类后面。
已经提示的很明确了,将第12行代码删除即可,一个Java文件里面只导包一次即可,导包语句应该放到类上面,一般要求Java书写顺序关系是package-->import-->class, package(如果存在)放到第一行,导包放在第二行,新建类放到导包import下
把对象放到List集合,保存集合,答案如下:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
class Employee implements Serializable{
int id;
String name;
double salary;
public Employee(int id,String name,double salary) {
this.id = id;
this.name = name;
this.salary = salary;
}
@Override
public String toString() {
return "id="+id+",name="+name+",salary="+salary;
}
}
public class ObjectSerializeDemo {
public static void main(String[] args) throws Exception {
Employee emp1 = new Employee(1001, "张三", 8000);
Employee emp2 = new Employee(1002, "李四", 9000);
Employee emp3 = new Employee(1003, "小丽", 7000);
List<Employee> empList = new ArrayList<Employee>();
empList.add(emp1);
empList.add(emp2);
empList.add(emp3);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("employee.ser"));
//保存
oos.writeObject(empList);
//读取
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("employee.ser"));
List<Employee> list = (List<Employee>)ois.readObject();
for(Employee e: list) {
System.out.println(e);
}
}
}