各ケースで同じ名前の変数を作成できないのはなぜですか。たとえば、以下のコードから、すでに存在するcase 3
と文句を言うでしょうが、なぜそうなるのでしょうか? 呼ばれたことはありませんし、これからも呼ばれることはありません。String name
Case 1
から定義を抽出したくありませんswitch-case
。では、なぜif
ステートメントを使用して、それぞれのケースで同じ名前を定義できるのに、switch-case
そうしないのでしょうか?
以下は、switch ケースを使用した単純な 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:
...
}