2017-08-15 77 views
1

我有一個非常基本的數組,附加一個值取決於用戶是否點擊一個按鈕或另一個。一個函數將在我的應用程序的viewDidLoad()方法中調用,並將根據數組中的值執行一個函數(它會根據我正在查看的索引而有所不同,但我們只關注第一個索引)。我可以在數組中添加「是」/「否」,String s,或者使用true/false,bool s。由於功能相對簡單,我認識到這可能沒有什麼大不了的,但我認爲爲什麼不盡可能地進行優化。 if(或switch)語句檢查bool比較比string比較檢查是否更快?或者是周圍的其他方式?正在閱讀一個布爾比閱讀一個字符串更快?

+0

添加從問題內容推導出的'android'和'java'標記。 – Thomas

+0

刪除了'android'和'java'標籤,因爲它似乎是一個iOS開發問題。 –

回答

3

由於它比較了1個值(例如0 = 0或0 = 1),因此字符串必須比較字符串中的每個字符以找到匹配或不匹配,所以執行bool比較會更好。

TL:DR布爾比較比字符串比較

1

更快,因爲讀一個boolean基本上是二元期權,e.g真/假,而不是一個比較,它比做一個字符串比較快。雖然在這種情況下它只是邊際,但爲更大的計算讀取布爾值肯定會有好處。

1

要回答你問的問題 - 是的,比較bool比比較字符串更高效。

要回答你應該問的問題 - 優化,你有瓶頸的性能,優化的簡單/可讀性/可維護性其他任何地方。如果你不知道這部分是否是瓶頸,請學習如何測量它。

在這種特定情況下的高效和簡單的情況下可以是相同的,但是非常的問題是誤導 - 不要試圖優化性能的地方都無所謂。