由一道题引发对indexOf()和lastIndexOf()的思考

这道题是给一个字符串,找出第一个只出现一次的字符,比如str=aabbcddeed,答案找出来肯定是c,实现代码如下

for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if (str.indexOf(ch) == str.lastIndexOf(ch))
                return i; 
        }

如果熟悉字符串方法的话,这道题代码非常的简洁,
indexOf()查找某个指定字符串在字符串中首次出现的位置,lastIndexOf()是查找某个指定的字符串在这个字符串中最后一次出现的位置,
一个从前往后一个从后往前,为什么结果会相同,?
在这里插入图片描述
在这里插入图片描述
实验结果证明indexOf和lastIndexOf返回的索引值都是从前往后计算的,

猜你喜欢

转载自blog.csdn.net/chris__x/article/details/106965069
今日推荐