假设我需要一个涉及一组类别的 Java 数据结构,每个类别都有一组子类别。例如,假设主类别是“品牌”(例如产品),子类别是“产品”。我希望能够将品牌+产品的组合映射到一条数据,例如价格。
如果它们是独立的,我想对“品牌”和“产品”都使用枚举类型,因为
品牌+产品只有一小部分与之相关的数据(价格)
我需要在一个相当大的程序中多次引用它们,所以我错误输入分配给它们的任何字符串文字键的可能性基本上是一个。
但是,品牌/产品的数量太大,无法为每个品牌/产品组合提供一个枚举(大约 20 个品牌,每个品牌有 10 个产品,以后很有可能添加更多)。我希望能够使用这样的结构:
getPrice(APPLE.IPOD)
getPrice(APPLE.MACBOOK)
getPrice(HERSHEYS.PEANUT_BUTTER_CUPS)
我应该使用某种嵌套枚举吗?如果是这样,那将如何实施?
奖励信息:我花了一些时间在谷歌上搜索“java 嵌套枚举”,但没有提出任何建议。与此处勾选的答案中的第一个或此处的 thelosts 的答案类似的结构的问题是,我有太多的类别都表现出相同的行为,无法多次写出非常相似的枚举定义。