遇到这样的问题,常规的思路估计就是遍历String,然后逐个对比。下面先看循环遍历
这样虽然直观,但感觉效率不行。继续研究String中的方法,很快我们想到了indexOf方法,该方法可以获取指定字符串在String对象的位置。
这样的方法看上去,好像不太直观,此时想到split方法,该方法可以根据字符串切分原字符串,似乎可以通过切割后的数组数量达到计算效果
split方法使用需要注意边界问题,如果不注意,容易漏计算。除了这些还有其他方案吗?
通过replaceAll方法需要注意targetStr中是否有需要转义的字符串。
将每个方法执行10000次,测得每个方法耗时如下
因此建议使用indexOf,大家还有没有更高级的方法,欢迎留言。