指针有一个对象的变量指向Java中另一个对象的变量
我的例子非常具体,因为我制作了一个学生和课程对象的系统。每门课程都有一份学生名单和他们的成绩,我正在寻找一种有效的方法将这两者联系起来
当前我的学生对象有:
public class student {
String studentName;
String[] courses;
我的课程目标是:
public class course {
String courseName;
Map<String, Integer> studentGrade = new HashMap<>(); // where string is student names and int is their grade
但是在我的student对象中不使用字符串数组,而是使用一个指向我的映射的变量?任何提示,谢谢
另外,我假设保持这种方式是非常糟糕的,因为每当发生任何事情时,我总是要改变这两个对象
# 1 楼答案
我假设你没有使用数据库
在这种情况下,您可以为每个
student
保留一个courseList
,也可以为每个course
保留一个studentList
对于第一种解决方案,只需为
student
对象定义一个courses
列表对于第二个,你只能保留一个列表而不是一张地图
或者你可以写第三种方法,将每门课程映射到学生名单上,意思是:
在所有情况下,无论什么时候发生变化,你都需要手动处理,而这件事是无法避免的
# 2 楼答案
也许你可以做下一步:
或者你也可以这么做