Мне любопытно, почему 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