任何人都可以解釋在使用if
,if else
或switch
代替相似的代碼塊之間的折衷(即使可忽略不計) ?如果比較String或其他對象而不是int,情況會不同嗎?這些例子是用Java編寫的,但它是一個普遍的問題。如果vs if-else vs每個條件導致返回時切換
編輯
由於幾個答案說,一個開關將是更快,或許應該被使用,如果有以上幾個案例更多。然而,在這樣的長鏈中,沒有人對if
和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;
}
任何標籤的幫助,將不勝感激。 – 2012-04-17 04:19:06
如果你有很多人,'switch'是要走的路。 – Mysticial 2012-04-17 04:19:42
而不是返回null,返回「NaN」或「Undefined」... – 2012-04-17 04:22:25