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