如何查找成员所属的对象
How to find the object that a member belongs to
class MySchool {
ArrayList<MyTeacher> teacher;
...
}
class MyTeacher {
...
}
当我在对MyTeacher实例进行处理时,如何找到他们所属的MySchool实例? MyTeacher 不是独立存在的,它们是由 MySchool 创建的,但是我不想让 MyTeacher 成为 MySchool 的子类,因为这会混淆程序的其他部分。
我可以在 MyTeacher 的每个实例中保存对 MySchool 的引用,但这似乎有点不雅,我想知道是否有一个简单的函数可以告诉我。
感谢您的帮助。
其实引用是正常的做法。每个老师都可以有一所学校,这在所有老师之间都不是唯一的,所以要知道那所学校,应该添加一个参考。我不明白为什么这不优雅。
此外,教师可能没有学校,因此请将参考设为空,或者如果教师可以有多个学校,则需要学校列表作为参考。
如果实在不想要这个reference,也可以遍历所有学校,搜索你感兴趣的老师。如果一个老师只能在一个学校任教,找到后可以停止搜索老师,否则您必须在遍历所有学校和老师的同时构建列表。这是一个非常不优雅的解决方案,只有在想要最小化内存时才应该使用。处理时间会大大增加。
JVM 不跟踪此类信息(垃圾回收期间除外),所以不,除了在 "member" class 中保留反向引用外别无他法。
如果您需要此信息,我认为保留此类参考没有问题。
class MySchool {
ArrayList<MyTeacher> teacher;
...
}
class MyTeacher {
...
}
当我在对MyTeacher实例进行处理时,如何找到他们所属的MySchool实例? MyTeacher 不是独立存在的,它们是由 MySchool 创建的,但是我不想让 MyTeacher 成为 MySchool 的子类,因为这会混淆程序的其他部分。
我可以在 MyTeacher 的每个实例中保存对 MySchool 的引用,但这似乎有点不雅,我想知道是否有一个简单的函数可以告诉我。
感谢您的帮助。
其实引用是正常的做法。每个老师都可以有一所学校,这在所有老师之间都不是唯一的,所以要知道那所学校,应该添加一个参考。我不明白为什么这不优雅。
此外,教师可能没有学校,因此请将参考设为空,或者如果教师可以有多个学校,则需要学校列表作为参考。
如果实在不想要这个reference,也可以遍历所有学校,搜索你感兴趣的老师。如果一个老师只能在一个学校任教,找到后可以停止搜索老师,否则您必须在遍历所有学校和老师的同时构建列表。这是一个非常不优雅的解决方案,只有在想要最小化内存时才应该使用。处理时间会大大增加。
JVM 不跟踪此类信息(垃圾回收期间除外),所以不,除了在 "member" class 中保留反向引用外别无他法。
如果您需要此信息,我认为保留此类参考没有问题。