Tom*_*sky 6 java switch-statement
为什么不同的案例机构不会自动在自己的范围内?例如,如果我这样做:
switch(condition) {
case CONDITION_ONE:
int account = 27373;
case CONDITION_TWO:
// account var not needed here
case CONDITION_THREE:
// account var not needed here
case CONDITION_FOUR:
int account = 90384;
}
Run Code Online (Sandbox Code Playgroud)
编译器会抱怨局部变量重定义.我明白我可以这样做:
switch(condition) {
case CONDITION_ONE: {
int account = 27373;
}
case CONDITION_TWO: {
// account var not needed here
}
case CONDITION_THREE: {
// account var not needed here
}
case CONDITION_FOUR: {
int account = 90384;
}
}
Run Code Online (Sandbox Code Playgroud)
在每个要执行的语句集周围放置一个块,将每个account变量放在自己的范围内.但是为什么语言不能为我做这个呢?
你为什么要在CONDITION_ONE体内声明一个局部变量然后在CONDITION_TWO's中使用它?这似乎是一个可怕的想法,应该明确禁止,而不是暗示允许.
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |