title: Java String.indexOf and empty Strings
body: <p>I'm curious why the <a href="http://java.sun.com/javase/6/docs/api/java/lang/String.html#indexOf(java.lang.String)" rel="noreferrer"><code>String.indexOf</code></a> is returning a 0 (instead of -1) when asking for the index of an empty string within a string.</p>
  
  <p>The Javadocs only say this method returns the index in this string of the specified string, -1 if the string isn't found.</p>
  
  <p>To me this behavior seems highly unexpected, I would have expected a -1.  Any ideas why this unexpected behavior is going on?  I would at the least think this is worth a note in the method's Javadocs...</p>
  
  <pre><code>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
  </code></pre>