Java String.indexOf 和空字符串
我很好奇为什么String.indexOf
在询问字符串中空字符串的索引时返回0(而不是-1)。
Javadocs 只说此方法返回指定字符串的此字符串中的索引,如果未找到该字符串,则返回 -1。
对我来说,这种行为似乎非常出乎意料,我本来以为-1。任何想法为什么这种意想不到的行为正在发生?我至少认为这在方法的Javadocs中值得注意......
System.out.println("FOO".indexOf("")); // outputs 0 wtf!!!
System.out.println("FOO".indexOf("bar")); // outputs -1 as expected
System.out.println("FOO".indexOf("F")); // outputs 0 as expected
System.out.println("".indexOf("")); // outputs 0 as expected, I think