字符串比較可能是昂貴的。有一些統計數據表明,通過首先比較字符串大小,可以消除很高比例的字符串比較。所以我很想知道NSString compare:方法是否考慮到了這一點。有人知道嗎?NSString比較效率
0
A
回答
2
根據消息來源here(這只是一個實現,其他可能會有所不同),compare
不首先檢查長度,這實際上是有道理的,因爲它不是一個相等性檢查。由於它返回一個小於/等於/大於返回碼,它有檢查字符,即使長度是相同的。
如果長度不同,純粹的isEqual
類型的方法可能能夠快速進行字符檢查,但compare
沒有那種奢侈品。
它確實對零長度進行檢查,但不能比較兩個長度之間的對比。
1
是的。它還檢查之前的指針是否相等(它涵蓋了常量字符串大小寫以及其他字符串解析和字符串ROM)。
(編輯)此答案適用於-isEqualToString :,不是--compare :.我誤讀
相關問題
- 1. 效率比較
- 2. 比較效率
- 3. C++ int比較效率
- 4. PHP回聲效率比較
- 5. BigInteger效率比較長嗎?
- 6. 如何有效比較兩個NSString
- 7. objective c NSString比較
- 8. 如何比較NSString *
- 9. NSRegularExpression和NSString比較
- 10. 自定義比較器的效率
- 11. F#展開函數效率比較
- 12. 比較兩個字典的效率
- 13. 大O算法效率比較
- 14. 效率:Java中的UUID與int比較
- 15. 比較不同的NSString到一個nsstring
- 16. 使用isEqualToString來比較NSString
- 17. 的NSString比較的問題
- 18. 的NSString比較不工作
- 19. 比較NSString使用isEqualToString
- 20. haw比較UITextFiled和NSString
- 21. iphone比較 與NSString
- 22. 比較NSString和整數?
- 23. 如何比較char *和NSString?
- 24. 理解的NSString比較
- 25. 比較id對象和NSString
- 26. NSString子串不會比較
- 27. 快速比較NSArray和NSString?
- 28. IOS比較兩個NSString的
- 29. 有效的比較
- 30. 問題比較NSString文字和常數
這些來源不是OSX中使用的來源,但您的觀點仍然不錯 – 2013-05-04 07:02:44
@paxdiablo有趣的資源。值得注意的是,isEqualToString:確實首先進行檢查。 – stephen 2013-05-04 07:08:57