java - 帧代码 "case"在 "switch"中用大括号 - {}

标签 java switch-statement case

我从未见过“switch”中的代码“case”是用大括号 - {} 括起来的。我可以使用大括号隐藏变量以防万一吗?或者这是一个不好的做法?可能的后果是什么?

我需要使用开关,其中每种情况都由相同类型的变量组成(我认为最好保持相同的名称)但具有不同的值。

Dialog dialog;
switch (id) {
    case ID_1: {
        String[] keys = ...; // some array
        String[] values = ...;
        ...
        return dialog;
    }
    ...
        case ID_2: {
        String[] keys = ...; // different values
        ...
        return dialog;
    }
    default:
        return null;
    }
}

最佳答案

Can I use braces to hide variables in case?

是的,你可以。

Or is it a bad practice?

这可能是一个迹象,表明您可以重构代码 - 但如果不查看代码在每个情况中的作用,就很难判断。

What are the possible consequences?

除了限制这些变量的范围之外,这就是您的目标。

关于java - 帧代码 "case"在 "switch"中用大括号 - {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12874004/

相关文章:

mysql - 当值不是日期时,CASE 计数值

sql - 将数据类型 varchar 转换为 float 时出错 - ISNULL 相关

java - 我可以将 Android 应用程序转换为 iPhone/iPad 应用程序吗?

java - 如何创建一个 ArrayList,我也可以像 Java 一样添加项目

java - 为什么 calendar.get(Calendar.MONTH) 返回 10 而不是 12?

Java 8 错误 : Interface Inherits Abstract and Default

c++ - switch 语句直接转到 default

java - 如何使用 switch 语句并获得正确的输出?

Google Data Studio 中的语句不起作用的情况

Php Mysql 开关/案例声明