gpt4 book ai didi

java - 我可以在java中使用Hash Map 3类吗?

转载 作者:行者123 更新时间:2023-12-01 17:31:11 25 4
gpt4 key购买 nike

courses = new ArrayList<Course>();
units = new HashMap<Integer,Unit>();
staffs = new HashMap<Integer,Staff>();

我可以像这样将单元类和员工类映射到类(class)类吗?我想将数据作为序列化数据存储到 dat 文件中。

我的场景是这样的。类(class)设有多个单元,类(class)有主任1名,副主任1名,均来自教职员类。

我确实喜欢第一个。问题是我有一个名为database.java的类,其中有一个像这样的方法。

public boolean setDatabase(ArrayList<Course> iCourse, Map<Integer,Unit> iUnit)

所以如果我使用这个:

courses = new ArrayList<Course>();
units = new HashMap<Integer,Unit>();
staffs = new HashMap<Integer,Staff>();

我可以尝试下面这个吗?

public boolean setDatabase(ArrayList<Course> iCourse, Map<Integer,Unit> iUnit, Map<Integer,Staff> iStaff) 

最佳答案

试试这个,

public final class Course {
Staff director;
Staff deputyDirector;
List<Unit> units;
...
}

或者,如果您想强制执行主任和副主任,那么您可以对您的 Staff 类进行子类化,如下所示,

public final class Director extends Staff {
...
}

public final class DeputyDirector extends Staff {
...
}

注意:不要将您的 Staff 类设置为 final,否则您无法创建这些子类。

然后让您的Course类使用这些特定的类,如下所示,

public final class Course {
Director director;
DeputyDirector deputyDirector;
List<Unit> units;
...
}

[已编辑]

我不知道setDatabase()方法应该做什么。我建议你起一个有意义的名字。但是,如果您遵循我的建议,您将能够按如下方式定义您的方法,

public boolean setDatabase(List<Course> courses) {
...
}

Course 对象将具有与其关联的相关 StaffUnit 对象。

关于java - 我可以在java中使用Hash Map 3类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com