这更像是一个概念问题。我知道如何去做我想做的事。我想知道这是否是正确的做法。
我试图代表一些在现实生活中涉及到一些嵌套的东西。它是一个文档,它指定要使用一组项目执行的活动。一个文档可能涵盖多个项目,每个项目可能有多个活动。
所以层次结构将是 Document -> Item -> Activity。
我目前的想法是用一个顶级类 Document 来表示它,它包含一个内部类 ItemProgram,它本身包含一个内部类 Activity。是的,这是两层嵌套。
public class Document {
// Properties of the document itself
private Map<Item, ItemProgram> itemPrograms; // Map of item programs
public class ItemProgram {
// Properties of the item program itself
private List<Activity> activities; // List of activities
public class Activity {
// Properties of the activity
}
}
}
内部类必须是公共的,但我将构造函数设为私有,以便它们仅由外部类中的 add 方法创建。如您所见,我使用 Collection 类型存储实例。
这是解决这个问题的正确方法吗?双重嵌套?
在外部类中使用集合来存储对内部类所有实例的引用是否合适?