if
、if else
、またはswitch
次のようなかなり大きなコード ブロックを使用する場合のトレードオフ (無視できる場合でも) を説明できる人はいますか? int の代わりに String または別の Object を比較している場合、状況は異なりますか? 例はJavaで書かれていますが、一般的な質問として意図されています。
編集
いくつかの回答が述べているように、スイッチはより高速になり、ケースが複数ある場合はおそらく使用する必要があります。ただし、このような長いチェーンの場合、if
vsについては誰もコメントしていません。if else
この質問に火をつけたのは、ほとんどの場合複数の式が必要なため、スイッチを使用できないこれらのブロックを頻繁に作成しているということです。を除外するのは雑に感じると思いelse
ますが、実際には必要ないのになぜ含めるのですか?
public String getValueString(int x) {
if (x == 1) return "one";
if (x == 2) return "two";
if (x == 3) return "three";
if (x == 4) return "four";
...
return null;
}
VS
public String getValueString(int x) {
if (x == 1) return "one";
else if (x == 2) return "two";
else if (x == 3) return "three";
else if (x == 4) return "four";
...
return null;
}
VS
public String getValueString(int x) {
switch(x) {
case 1: return "one";
case 2: return "two";
case 3: return "three";
case 4: return "four";
...
}
return null;
}