Art*_*ans 3 java switch-statement
为什么我不能在每个具有相同名称的情况下创建变量.例如,从下面的代码中,case 3它会抱怨String name已经存在 - 但为什么会这样?Case 1从来没有,永远不会被称为.
我不想从中提取定义switch-case.那么为什么使用if语句可以在每种情况下定义相同的名称,但在switch-case其中却没有?
这是一个带有switch case的简单Java代码:
int type = 3;
switch (type) {
case 1:
String name = (String) respone.get("name");
user.setName(name);
break;
case 2:
String surname = (String) respone.get("surname");
user.setSurname(surname);
break;
case 3:
String name = (String) respone.get("name");
user.clearName(name);
break;
default:
...
}
Run Code Online (Sandbox Code Playgroud)
将每个case语句写在不同的块中:
switch (type) {
case 1: {
String name = (String) respone.get("name");
user.setName(name);
break;
}
case 2: {
String surname = (String) respone.get("surname");
user.setSurname(surname);
break;
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |