我的问题是,如果要检查特定索引中字符串的字符(仅要检查一个字符),哪种方法非常有效charAt()或startsWith()。我的意思是比较时间复杂度我猜想startsWith()比charAt()获得更多的时间。因为startsWith()需要检查一组字符,而charAt()只需要检查一个字符。
现在,请告诉我您的意见...您认为哪种方法可以有效地仅检查一个字符。
答案 0 :(得分:3)
这两种方法均可用于检查特定字符的值。
charAt()直接返回所请求索引处的char,如果提供相应的参数,则startsWith(prefix,index)将返回true。
主要区别在于第二种方法的开销更多。
因此,从理论上讲,选项1的性能要好一些。但除此之外,您还可以选择选项1,因为它可以最明确的方式满足您的需求。
真正重要的区别不在于性能,而在于代码传达您的意图。因此,尽管可以使用startsWith()来做您想要的事情,但是以这种方式使用它只是违反直觉的。
答案 1 :(得分:1)
如果我要检查特定索引中字符串的一个字符(仅一个字符要检查)
您自己回答。如果您需要检查特定索引中的内容,则不能使用startsWith()
,因为您不能选择索引。
他们从事不同的工作,因此,根据您的问题,请始终使用charAt()