为了账号安全,请及时绑定邮箱和手机立即绑定

java charAt() 和 startsWith() 哪个更快?

java charAt() 和 startsWith() 哪个更快?

桃花长相依 2021-10-13 12:47:11
我的问题是,如果我想检查特定索引中字符串的一个字符(只检查一个字符),哪种方法非常有效 charAt() 或 startsWith()。我的意思是在比较时间复杂度时,我可以猜测startsWith() 获得的时间比 charAt() 多。因为startsWith() 需要检查一组字符而charAt() 只需要检查一个字符。现在告诉我你的意见......你认为哪个只检查一个字符是有效的。
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

这两种方法都可用于检查特定字符的值。

charAt() 直接返回请求索引处的字符,如果提供相应的参数,startsWith(prefix, index) 将返回true。

主要区别在于第二种方法有更多的开销。

因此,理论上选项 1 的性能稍好一些。但除此之外,您更愿意选择选项 1,因为它以最清晰的方式满足您的需求。

真正重要的区别不在于性能,而在于您的代码传达您的意图。因此,尽管可以使用 startsWith() 来执行您想要的操作,但以这种方式使用它是违反直觉的。


查看完整回答
反对 回复 2021-10-13
?
慕神8447489

TA贡献1780条经验 获得超1个赞

如果我想检查特定索引中字符串的一个字符(只检查一个字符)

你自己回答的。如果您需要在特定索引中检查,则不能使用startsWith(),因为您无法选择索引。

他们做不同的工作,所以,根据你的问题,总是使用 charAt()


查看完整回答
反对 回复 2021-10-13
  • 2 回答
  • 0 关注
  • 367 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信