序列化java中的员工列表

时间:2011-09-28 19:02:38

标签: java class serialization object

我有一个简单的员工类:

class Employee {

    private int     id;
    private String  firstName;
    private String  lastName;
    private String  streetAddress;
    private String  city;
    private String  state;
    private String  zip;
    private String  cellularPhoneNumber;
    private String  homePhoneNumber;

    public Employee(int id, String firstName, String lastName, String streetAddress, String city, String state, String zip, String cellularPhoneNumber, String homePhoneNumber) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
        this.streetAddress = streetAddress;
        this.city = city;
        this.state = state;
        this.zip = zip;
        this.cellularPhoneNumber = cellularPhoneNumber;
        this.homePhoneNumber = homePhoneNumber;
    }
}

我如何将多个员工序列化到文件中?我知道如何序列化一个对象,但我怎么能有多个呢?

有人可以指出我正确的方向或提供序列化多个对象的样本吗?我会更好地使用像SQLite这样的数据库吗?

非常感谢先进。

4 个答案:

答案 0 :(得分:4)

java.util中的集合是可序列化的。因此,如果您使Employee类实现Serializable,然后将您的员工放在ArrayList中,那么您可以序列化列表并保存员工。

HSQLDB和H2是用Java实现的内存数据库,可能是SQLite的良好替代品(意味着更容易从Java程序中使用)。对于一般学习目的,使用数据库是一种更实用的技能,序列化事物不是我做的很多事情(当我的代码使用序列化类时,实际的序列化留给环境,例如在HttpSession中存储事物时)。

答案 1 :(得分:2)

  1. add(..) List的对象 - 例如ArrayList
  2. 序列化列表
  3. 至于你的SQLite问题 - 我说不出来。通常,您不应该将序列化用作数据库存储,但如果您的应用程序很简单,那就足够了。

答案 2 :(得分:1)

List<Employee> e = new ArrayList<Employee>() {{

add(new Employee(...));
add(new Employee(...));
add(new Employee(...));
add(new Employee(...));
add(new Employee(...));

}};


Employee implements Serializable {

.....
}

答案 3 :(得分:0)

我建议使用Jackson,JSON进行序列化。

好处是序列化后,您至少可以看到您的数据。 Java序列化在许多方面都是有限的。

相关问题