2017-08-15 42 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比比较字符串更高效。

要回答你应该问的问题 - 优化,你有瓶颈的性能,优化的简单/可读性/可维护性其他任何地方。如果你不知道这部分是否是瓶颈,请学习如何测量它。

在这种特定情况下的高效和简单的情况下可以是相同的,但是非常的问题是误导 - 不要试图优化性能的地方都无所谓。