使用逗号分隔大小写是不好的做法还是不赞成? Switch case 语句 Java

Bad practice or frowned upon to use a comma to separate cases? Switch case statement Java

编写带有逗号的 switch case 语句是否被认为是不好的做法:

switch(name)
{
case 'a', 'A' :
break;
}

而不是

switch(name)
{
case 'a':
case 'A':
break;
}

只是好奇,因为我的代码似乎 运行 无论哪种方式都很好,但我想养成使用 proper/most 接受方式的习惯。

这不是坏习惯。事实上,它被认为是简洁和省时的。

看看您拥有的以下代码

switch(name){
    case 'a', 'A' :
        break;
}

不使用逗号的等价物是:

switch(name){
    case 'a':
        break;
    case 'A':
        break;
}

if-else 等价物是:

if(name=='a'){
    //Do something
}else if(name=='A'){
    //Do something
}

其中,第一个例子只用了 36 个字符。后者用了49个,最后一个用了37个字符

道德?使用逗号绝对比使用两个案例和一个结果更简洁和省时。即使是 if 语句也会更简洁。

来自 JavaDocs: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

class SwitchDemo2 {
    public static void main(String[] args) {

        int month = 2;
        int year = 2000;
        int numDays = 0;

        switch (month) {
            case 1: case 3: case 5:
            case 7: case 8: case 10:
            case 12:
                numDays = 31;
                break;
            case 4: case 6:
            case 9: case 11:
                numDays = 30;
                break;
            case 2:
                if (((year % 4 == 0) && 
                     !(year % 100 == 0))
                     || (year % 400 == 0))
                    numDays = 29;
                else
                    numDays = 28;
                break;
            default:
                System.out.println("Invalid month.");
                break;
        }
        System.out.println("Number of Days = "
                           + numDays);
    }
}

CheckStyle,java 样式的事实标准,没有对此进行检查。

做任何最容易阅读的事情。

我会说尽管在任何给定的 switch 语句中只使用一种样式或另一种样式。