首页 > 解决方案 > java中switch语句的最佳替代选择

问题描述

当我们有 5 个 switch case 时,switch 语句非常好,但在我们的例子中,我们有 15 个 switch case。

我想知道java中switch语句的最佳替代选择是什么

private OpwaardernId getOpwaardernId(String opId) {

    OpwaardernId opwaardernId;
    switch (opId) {
        case "ID001":
            opwaardernId = opwaardernId.of("xxx");
            break;
        case "ID002":
            opwaardernId = opwaardernId.of("123");
            break;
        case "ID002":
            opwaardernId = opwaardernId.of("abc");
            break;
        case "ID003":
            opwaardernId = opwaardernId.of("asd");
            break;
        case "ID004":
            opwaardernId = opwaardernId.of("rrr");
            break;
        case "ID005":
            opwaardernId = opwaardernId.of("ttt");
            break;
                ...
        case "ID015":
            opwaardernId = opwaardernId.of("aaa");
            break;

        default:
            opwaardernId = null;

    }
    return opwaardernId;
}

标签: javaswitch-statement

解决方案


例如,您可以使用地图:

private OpwaardernId getOpwaardernId(String opId) {
    // store all value in a map
    Map<String, String> map = Map.of("ID001", "xxx", "ID002", "123", ..);
    // then just call 
    return map.containsKey(opId) ? opwaardernId.of(map.get(opId)) : null;
}

推荐阅读