相关疑难解决方法(0)

基于枚举的Java表格/矩阵

我有两个枚举:level有3个值和criticality4个值.这两个映射的组合映射到priority枚举中的8个值之一.映射是非线性的,将来可能会发生变化.

什么是实现静态函数的最佳*方法,该函数需要级别和关键性并输出优先级?

*最好易于阅读和理解,易于更换,更安全,而不是性能损失.考虑到输入域将来可能发生变化的解决方案的额外分数.

到目前为止我考虑的方式:

嵌套开关..case.许多行和许多样板代码.如果您忘记在案例中返回值,也容易出错.基本上代码看起来像这样:

    switch (bc) {
        case C1:
            switch (el) {
                case E1:
                    return EmergencyPriority.P1;
                case E2:
                    return EmergencyPriority.P2;
                case E3:
                    return EmergencyPriority.P3;
            }
        case C2:
            switch (el) {
                case E1:
                    return EmergencyPriority.P2;
                case E2:
                    return EmergencyPriority.P3;
                case E3:
                    return EmergencyPriority.P4;
            }
        case C3:
            switch (el) {
                case E1:
                    return EmergencyPriority.P4;
                case E2:
                    return EmergencyPriority.P5;
                case E3:
                    return EmergencyPriority.P6;
            }
        case C4:
            switch (el) {
                case E1:
                    return EmergencyPriority.P6;
                case …
Run Code Online (Sandbox Code Playgroud)

java enums matrix

6
推荐指数
2
解决办法
1349
查看次数

标签 统计

enums ×1

java ×1

matrix ×1