反正有没有让这段代码更高效?

时间:2013-09-08 13:13:14

标签: java loops

我正在编写一些代码,我有这个代码段

{

    user = "B";
    indice = 21;

    switch (user) {
        case "A":
            A[indice - 1] = "X";
            break;
        case "B":
            B[indice - 1] = "X";
            break;
        case "C":
            C[indice - 1] = "X";
            break;

    }

}

我想知道是否有一种方法可以更有效地制作这些代码所以我不必重写它X很多次也可能有更多的值然后我已经有了更多的值设置,任何帮助将是一个很大的建议将是一个很大的帮助

2 个答案:

答案 0 :(得分:4)

创建Map<String,String[]>,将数组ABC放入其中,然后使用此代码:

Map<String,String[]> arrayByName = new HashMap<String,String[]>();
arrayByName.put("A", A);
arrayByName.put("B", B);
arrayByName.put("C", C);
...
arrayByName.get(user)[indice-1] = "X";

答案 1 :(得分:2)

如果你的开关的情况总是连续的(例如"A", "B", "C")并且将始终是单字符,你可以做一些事情

String[][] master = {A, B, C};

...

master[user.charAt(0) - 'A'][indice - 1] = "X";