我有一个预先确定的有限值列表。这些值中的每一个都必须映射到另一个值。
示例:
AAAAA -> AZER
BBBBB -> BVCX
但我也有,取决于某些参数:
CCCCC -> CPA1
CCCCC -> CPA2
CCCCC -> CPA3
CCCCC -> CPA4
我最初想到使用枚举,但是如何考虑参数?
最佳答案
您可以向枚举添加方法,以传递参数,例如
enum MyEnum {
AAAAA {
@Override String mappedValue(Param parameter) { return "AZER"; }
},
BBBBB {
@Override String mappedValue(Param parameter) { return "BVCX"; }
},
CCCCC {
@Override String mappedValue(Param parameter) {
if (parameter.equals(something)) {
return "CPA1";
} else if (parameter.equals(somethingElse)) {
return "CPA2";
} else {
return "CPA3";
}
}
}
;
abstract String mappedValue(Param parameter);
}
关于java - 我可以使用带参数的枚举吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36010167/