有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何查找成员所属的对象

class MySchool {
    ArrayList<MyTeacher> teacher;
    ...
}

class MyTeacher {
    ...
}

当我对MyTeacher的实例进行处理时,如何找到它们所属的MySchool实例?MyTeacher不是独立存在的,它们是由MySchool创建的,但是我不想让MyTeacher成为MySchool的子类,因为这会混淆程序的其他部分

我可以在MyTeacher的每个实例中保存对MySchool的引用,但这似乎有点不雅,我想知道是否有一个简单的函数可以告诉我

谢谢你的帮助


共 (2) 个答案

  1. # 1 楼答案

    实际上,引用是正常的方式。每个教师都可以拥有一所学校,而不是所有教师之间唯一的学校,因此要了解该学校,应该添加一个参考。我不明白这为什么不优雅

    此外,教师可能没有学校,因此请将引用设置为空,或者如果教师可以有多个学校,则需要学校列表作为引用

    如果你真的不想要这份推荐信,另一个选择是走遍所有学校,寻找你感兴趣的老师。如果一名教师只能在一所学校教书,当你找到该教师时,你可以停止搜索,否则你必须在遍历所有学校和教师的同时建立列表。这是一个非常不雅观的解决方案,只有在想要最小化内存时才应该使用。处理时间会大大增加

  2. # 2 楼答案

    JVM不跟踪此类信息(垃圾收集期间除外),因此没有其他方法,只能在“member”类中保留一个backreference

    如果你需要这些信息,我认为保留这样的参考资料没有问题