java – 为什么不同的case条件体不在不同的范围内?
发布时间:2020-05-29 00:55:31 所属栏目:Java 来源:互联网
导读:为什么不同的案例机构不会自动在自己的范围内?例如,如果我这样做: switch(condition) { case CONDITION_ONE: int account = 27373; case CONDITION_TWO: // account var not needed here case CONDITION_THREE: // account var
|
为什么不同的案例机构不会自动在自己的范围内?例如,如果我这样做: 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;
}
编译器会抱怨局部变量重定义.我明白我可以这样做: 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;
}
}
在每个要执行的语句集周围放置一个块,将每个帐户变量放在自己的范围内.但是为什么语言不能为我做这个呢? 你为什么要在CONDITION_ONE的主体中声明一个局部变量然后在CONDITION_TWO中使用它?这似乎是一个可怕的想法,应该明确禁止,而不是暗示允许. 解决方法这与语言的其他部分不一致.实际上,范围总是由块决定.这种一致性使Java更易于阅读和维护. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
