今天在使用indexOf遇到了一个不理解的情况,记录一下,希望已解决的人可以回复一下!
String a = "alicia";
int count1 = a.indexOf("",0);
System.out.println(count);
上面这段代码的输出结果是0。于是我看了源码,传入的字符串为空字符串 的时候,他通过一个判断,返回的是这个字符串的长度,也就是0。
但是我觉得这和indexOf
的返回值所代表的的含义不同。如果返回0说明在索引为0的位置的是空字符串,而索引为0的位置的是'a'
。个人认为,如果找不到空字符串,应该返回-1。所以很困惑(・∀・(・∀・(・∀・*)。
源码中的方法描述: