Ich bin gespannt, warum die String.indexOf
eine 0 (statt -1) zurückgibt, wenn Sie nach dem Index einer leeren Zeichenfolge in einer Zeichenfolge fragen.Java String.indexOf und leere Strings
Die Javadocs sagen nur, dass diese Methode den Index in dieser Zeichenfolge der angegebenen Zeichenfolge zurückgibt, -1, wenn die Zeichenfolge nicht gefunden wird.
Für mich scheint dieses Verhalten höchst unerwartet, ich hätte eine -1 erwartet. Irgendwelche Ideen, warum dieses unerwartete Verhalten vor sich geht? Ich würde zumindest denke, das wert ist eine Notiz in der Javadocs Methode ...
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
Ja, und was ist die Frage? –
'" foo ".indexOf (" ")' gibt 0 zurück und '" foo ".substring (0.0)' gibt '" "zurück. Scheint konsistent, würde ich sagen. –
mögliches Duplikat von http://StackOverflow.com/Questions/2568625/indexof-method-returns-0-when-it-should-had-return-1-in-c-java –