Java String.indexOf and empty Strings

Posted by tmeisenh on Stack Overflow See other posts from Stack Overflow or by tmeisenh
Published on 2010-04-21T13:50:41Z Indexed on 2010/04/21 13:53 UTC
Read the original article Hit count: 345

Filed under:
|
|

I'm curious why the String.indexOf is returning a 0 (instead of -1) when asking for the index of an empty string within a string.

The Javadocs only say this method returns the index in this String of the specified string, -1 if the string isn't found.

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

© Stack Overflow or respective owner

Related posts about java

Related posts about string-manipulation