我有一个枚举类型(比如为了参数CarModel
),在整个应用程序(许多类)中使用。
public enum CarModel {
DIABLO,
P911,
DB7;
}
我有各种以不同方式使用此CarModel
枚举类型的方法,并且每个方法都有一个 switch 语句来String
根据枚举类型设置一些变量,然后再继续执行其他操作。(例如设置某些型号的制造商,或设置原产国等。这些结果在运行时是静态的)
问题是,如果我想向枚举添加一个新模型,我需要转到每个方法,并扩展/修改 switch 语句以处理它的存在。这很容易导致人为错误和/或代码重复(如果各种方法使用相同的 switch 语句)。
我不想完全使用 switch 语句,而是希望有静态方法,可以在单个位置进行编辑,并且允许类似于以下的行为:
String country = CarModel.DIABLO.getCountry() // returns Italy
String manufacturer = CarModel.P911.getManufacturer() // returns Porsche
这是否可以通过枚举实现,(枚举甚至是“正确”的方法吗?