3
在java中有更快的方法來做到這一點嗎?if語句中的多重檢查
if (keyCode != 66 && keyCode != 8 && keyCode != 21 && keyCode != 22) {
}
keyCode是一個int。
在java中有更快的方法來做到這一點嗎?if語句中的多重檢查
if (keyCode != 66 && keyCode != 8 && keyCode != 21 && keyCode != 22) {
}
keyCode是一個int。
更快?對你來說太慢了嗎?不要玩優化器。編寫可讀代碼並將優化器留給優化器。 過早的優化是所有罪惡
編輯喬希的評論後根:
如果你真的有很多人,把它們放在一個容器(如集或陣列)和find
keyCode
在裏面。如果你找到了它,那麼你的情況是錯誤的。否則它是真的。
按照戴夫的評論:
if(!MyCodesSet.Contains(keyCode)){
}
是的,switch
聲明將轉化爲直接跳轉。然而,無論如何,JIT可能會將其用於代碼,所以如果switch
實際上更快,您必須嘗試一下。
通過可讀代碼,他意味着給出那些常量值的名稱,即對66,8,21和22有什麼重要的意義? – DaveJohnston
如果我需要再添加15個,該怎麼辦?可以以某種方式使用數組嗎? – Josh
請添加:「我們應該忘記小效率,比如97%的時間:過早...」;) – Jacob