0

根据我要求开发小型学生住宿管理系统的任务:

应用程序应该使用面向对象的概念开发,使用 Student 类和 Apartment 类,为这些类实现适当的数据字段和方法。数据可以存储在集合中,即对象、向量等的数组中,或者存储在数据库之外的数据文件中。

到目前为止,我一直在使用 Sets。我不确定这是否正确,但我将 HashSets 添加到我的课程中。例子:

public static Set<Apartment> listOfApartments = new HashSet<Apartment>();
// in Apartment Class) 

现在我刚刚意识到我实际上需要持久性集合或一些解决方案来实际永久存储数据。

有什么建议么?

4

2 回答 2

3

如果我在哪里,我会使用诸如ArrayList之类的东西来存储数据,尤其是学生。集合不允许重复数据,因此这可能会导致问题。

关于持久化数据,您应该查看ObjectOutputStream以存储您的对象,并查看ObjectInputStream以将它们加载回您的应用程序。您可以在此处查看 ObjectStreams 教程。

不过,我建议使用XStream之类的东西(您可以在此处查看如何使用它)。这将允许您的应用程序以人类可读的方式存储数据(这有助于调试),并且还允许您的数据被不同的编程语言读取。

于 2012-04-25T07:31:33.293 回答
0

If Appartmentis Serializable, then Set<Apartment>isSerializable也不需要任何额外的工作来使用 java.io 类来持久化它

要使类可序列化,您必须:

  1. 使其实现接口 java.io.Serializable
  2. 添加默认构造函数

就这么容易

于 2012-04-25T07:30:07.043 回答