关于Java中的switch语句 - 在每个case中使用return并省略break的影响。

73

根据这种方法,这是否代表了一些过分的风格或语义错误:

private double translateSlider(int sliderVal) {
    switch (sliderVal) {
        case 0:
            return 1.0;
        case 1:
            return .9;
        case 2:
            return .8;
        case 3:
            return .7;
        case 4:
            return .6;
        default:
            return 1.0;
    }
}  

显然这与 Java 教程 这里 不符。

然而,它表达清晰,简洁,并且迄今为止已经得到了我所需要的结果。是否有一个令人信服、实用的理由来创建一个本地变量,在每个 case 中分配一个值,给每个 case 添加一个 break 并在方法结尾返回该值?


7
对我来说,这看起来很好。switch语句是该方法唯一的内容,它清晰易读,所以非常合理。 - Michelle
更喜欢清晰简单的代码,而不是聪明的代码。我花了1秒钟就立刻理解了OP的方法,然后我盯着AlexWien的方法看了1分钟,我的大脑根本无法解读它。阿门。 - jumping_monkey
11个回答

-2

是的,这个很好。 教程不总是简洁和整洁。 不仅如此,创建局部变量浪费空间且效率低下。


4
我不知道你是从哪里学到这种黑科技的,但本地变量总是被垃圾回收器移除,并且仅在方法被调用的上下文中存在,因此永远不会是低效或“浪费空间”的。 - Dwight Spencer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接